Merge branch 'master' into path_custom_source
This commit is contained in:
+1
-1
@@ -31,7 +31,7 @@ BraceWrapping:
|
||||
SplitEmptyRecord: true
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakConstructorInitializers: BeforeComma
|
||||
BreakInheritanceList: BeforeColon
|
||||
ColumnLimit: 100
|
||||
CompactNamespaces: false
|
||||
|
||||
@@ -65,4 +65,11 @@ dc5b3cb495002951c3a36c928c55108b0999bc3e
|
||||
875f9eaad6a59abd70775c0b67a7f10d92128a5a
|
||||
7a8a453746a8e4a845219948591fd17f4494a067
|
||||
8b31d7deb09077bc0cce0ecf6de02c94db262a67
|
||||
|
||||
4a7e1b6d9b12df211cf6fbec61cc8544e4c6bf9d
|
||||
129d5882a729327a72b57ec695bb376e84205bd0
|
||||
2ae7cc4a94c1ab1dfc0264367c5da4716ea02bfe
|
||||
987b4bda2ac8570969dc07fa887bda420f77e441
|
||||
ec899d75c6abf45d7ee4dd91ea0f8141a9818446
|
||||
233a337ca5d693e4773fecf1de14325752afd658
|
||||
9271b6d433578f65df9b469131ece4e4bdbb19aa
|
||||
2637527e3a4e132506e8c074b752721d66ae146a
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
name: Request a Backport
|
||||
description: Suggest that a commit from the main development branch be backported to the next point release
|
||||
title: "[Backport] "
|
||||
labels: ["needs triage", "backport"]
|
||||
body:
|
||||
- type: input
|
||||
id: pull_request
|
||||
attributes:
|
||||
label: Original PR
|
||||
description: A link to the PR that contains the commits to be backported
|
||||
placeholder: https://github.com/FreeCAD/FreeCAD/pulls/1234
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description and Justification
|
||||
description: Why should this PR (or individual commit) be backported?
|
||||
placeholder: Please explain why this PR or commit should be backported to the next point release.
|
||||
@@ -1,86 +0,0 @@
|
||||
name: Report an Issue
|
||||
description: File an issue report
|
||||
title: "[Issue] "
|
||||
labels: ["needs triage"]
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: existing_issue
|
||||
attributes:
|
||||
label: Is there an existing issue for this?
|
||||
description: Please search to see if an issue already exists for the problem you encountered.
|
||||
options:
|
||||
- label: I have searched the existing issues
|
||||
required: true
|
||||
- type: input
|
||||
id: forum_link
|
||||
attributes:
|
||||
label: Forums discussion
|
||||
description: |
|
||||
If there is a discussion at [the FreeCAD Forum](https://forum.freecad.org) about this issue, please add the link here.
|
||||
placeholder: Paste link to forum discussion here
|
||||
- type: dropdown
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: What version of FreeCAD are you running?
|
||||
options:
|
||||
- 0.20 (Release)
|
||||
- 0.21 (Development)
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: full_version
|
||||
attributes:
|
||||
label: Full version info
|
||||
description: Please use the About FreeCAD dialog to copy your full version information and paste it here.
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: wb
|
||||
attributes:
|
||||
label: Subproject(s) affected?
|
||||
options:
|
||||
- Addon Manager
|
||||
- Arch
|
||||
- Core
|
||||
- Draft
|
||||
- Expressions
|
||||
- FEM
|
||||
- File formats
|
||||
- GCS
|
||||
- OpenSCAD
|
||||
- Part
|
||||
- PartDesign
|
||||
- Path
|
||||
- Project Tools & Websites
|
||||
- Sketcher
|
||||
- Spreadsheet
|
||||
- Techdraw
|
||||
- Other (specify in description)
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Issue description
|
||||
description: Please include as much detail as possible so that testers can reproduce the issue
|
||||
placeholder: Description of the problem
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: anything_else
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
Links? References? Anything that will give us more context about the issue you are encountering!
|
||||
|
||||
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first (GitHub won't recognize the extension otherwise).
|
||||
validations:
|
||||
required: false
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Code of Conduct
|
||||
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md)
|
||||
options:
|
||||
- label: I agree to follow this project's Code of Conduct
|
||||
required: true
|
||||
@@ -1,73 +0,0 @@
|
||||
name: 🌱 Feature Request
|
||||
description: Submit an idea for a new feature
|
||||
title: "[Feature Request] <title>"
|
||||
labels: ["feature", "needs triage"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for taking the time to request a feature! Please make sure you've posted about your idea in the FreeCAD Forums before submitting here.
|
||||
- type: checkboxes
|
||||
id: existing_issue
|
||||
attributes:
|
||||
label: Is there an existing request for this?
|
||||
description: Please search to see if a request already exists for your suggestion
|
||||
options:
|
||||
- label: I have searched the existing requests
|
||||
required: true
|
||||
- type: input
|
||||
id: forum_link
|
||||
attributes:
|
||||
label: Forums discussion
|
||||
description: Please start a discussion about your idea at [the FreeCAD Forum](https://forum.freecad.org) and wait for confirmation there before creating a request.
|
||||
placeholder: Paste link to forum discussion here
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: wb
|
||||
attributes:
|
||||
label: Subproject(s) affected?
|
||||
options:
|
||||
- Addon Manager
|
||||
- Arch
|
||||
- Core
|
||||
- Draft
|
||||
- Expressions
|
||||
- FEM
|
||||
- File formats
|
||||
- GCS
|
||||
- OpenSCAD
|
||||
- Part
|
||||
- PartDesign
|
||||
- Path
|
||||
- Project Tools & Websites
|
||||
- Sketcher
|
||||
- Spreadsheet
|
||||
- Techdraw
|
||||
- Other (specify in description)
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Idea description
|
||||
description: Please include as much detail as possible so that developers understand the request
|
||||
placeholder: Description of the feature
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: anything_else
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
Links? References? Anything that will give us more context about your idea.
|
||||
|
||||
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first (GitHub won't recognize the extension otherwise).
|
||||
validations:
|
||||
required: false
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Code of Conduct
|
||||
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md)
|
||||
options:
|
||||
- label: I agree to follow this project's Code of Conduct
|
||||
required: true
|
||||
@@ -0,0 +1,79 @@
|
||||
# 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 *
|
||||
# * <https://www.gnu.org/licenses/>. *
|
||||
# * *
|
||||
# ***************************************************************************
|
||||
|
||||
# !!! Each step running a single test shall have an'id' defined so its report will be output
|
||||
|
||||
name: Run all C++ Tests
|
||||
description: "Run all C++ tests, generating logs and reports for each"
|
||||
|
||||
inputs:
|
||||
reportdir:
|
||||
description: "Report directory where logs will be stored"
|
||||
required: true
|
||||
builddir:
|
||||
description: "Build directory where tests are located"
|
||||
required: true
|
||||
reportFile:
|
||||
description: "Path for report file"
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: C++ core tests
|
||||
id: core
|
||||
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
|
||||
with:
|
||||
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++ Sketcher tests
|
||||
id: sketcher
|
||||
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
|
||||
with:
|
||||
testCommand: ${{ inputs.builddir }}/tests/Sketcher_tests_run --gtest_output=json:${{ inputs.reportdir }}sketcher_gtest_results.json
|
||||
testLogFile: ${{ inputs.reportdir }}sketcher_gtest_test_log.txt
|
||||
testName: Sketcher
|
||||
- name: Compose summary report based on test results
|
||||
if: always()
|
||||
shell: bash
|
||||
run: |
|
||||
# Print global result
|
||||
if [ ${{ job.status }} != "success" ]
|
||||
then
|
||||
echo "<details><summary>:fire: C++ tests failed</summary>" >> ${{ inputs.reportFile }}
|
||||
else
|
||||
echo "<details><summary>:heavy_check_mark: C++ tests succeeded</summary>" >> ${{ inputs.reportFile }}
|
||||
fi
|
||||
echo "" >> ${{ inputs.reportFile }}
|
||||
echo "<blockquote>" >> ${{ inputs.reportFile }}
|
||||
#Extract individual results
|
||||
cat > /tmp/data << "EOD"
|
||||
${{ toJSON(steps) }}
|
||||
EOD
|
||||
echo "$(jq -r ".[].outputs.reportText" /tmp/data)" >> ${{ inputs.reportFile }}
|
||||
# Close report
|
||||
echo "</blockquote>" >> ${{ inputs.reportFile }}
|
||||
echo "</details>" >> ${{ inputs.reportFile }}
|
||||
echo "" >> ${{ inputs.reportFile }}
|
||||
|
||||
+23
-14
@@ -32,32 +32,41 @@ inputs:
|
||||
testLogFile:
|
||||
description: "Path for the command-line output of the tests"
|
||||
required: true
|
||||
reportFile:
|
||||
description: "Report file"
|
||||
testName:
|
||||
description: "A descriptive name for the test suite"
|
||||
required: true
|
||||
outputs:
|
||||
reportText:
|
||||
description: "Report text"
|
||||
value: ${{ steps.report.outputs.reportText }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Run C++ unit tests
|
||||
- name: Run C++ tests
|
||||
shell: bash
|
||||
run: stdbuf -oL -eL ${{ inputs.testCommand }} |& tee -a ${{ inputs.testLogFile }}
|
||||
- name: Parse test results
|
||||
if: always()
|
||||
id: report
|
||||
shell: bash
|
||||
run: |
|
||||
result=$(sed -ne "/Global test environment tear-down/,/^$/{/^$/d;p}" ${{ inputs.testLogFile }})
|
||||
if [ $(echo $result | grep -F "[ FAILED ]") ]
|
||||
if grep -qF "[ FAILED ]" <<< $result
|
||||
then
|
||||
echo "<details><summary>:fire: GTest C++ unit test suite failed</summary>" >> ${{ inputs.reportFile }}
|
||||
reportText="<details><summary>:fire: GTest C++ test suite '${{ inputs.testName }}' failed</summary>\n"
|
||||
else
|
||||
echo "<details><summary>:heavy_check_mark: GTest C++ unit test suite succeeded</summary>" >> ${{ inputs.reportFile }}
|
||||
reportText="<details><summary>:heavy_check_mark: GTest C++ test suite '${{ inputs.testName }}' succeeded</summary>\n"
|
||||
fi
|
||||
echo "" >> ${{ inputs.reportFile }}
|
||||
echo "Results" >> ${{ inputs.reportFile }}
|
||||
echo "" >> ${{ inputs.reportFile }}
|
||||
echo '```' >> ${{ inputs.reportFile }}
|
||||
echo "$result" >> ${{ inputs.reportFile }}
|
||||
echo '```' >> ${{ inputs.reportFile }}
|
||||
echo "</details>">> ${{ inputs.reportFile }}
|
||||
echo "" >> ${{ inputs.reportFile }}
|
||||
reportText+="\n"
|
||||
reportText+="Results\n"
|
||||
reportText+="\n"
|
||||
reportText+='```\n'
|
||||
reportText+="$result\n"
|
||||
reportText+='```\n'
|
||||
reportText+="</details>\n"
|
||||
reportText+="\n"
|
||||
echo "reportText<<EOD" >> $GITHUB_OUTPUT
|
||||
echo -e "$reportText" >> $GITHUB_OUTPUT
|
||||
echo "EOD" >> $GITHUB_OUTPUT
|
||||
echo -e "$reportText"
|
||||
@@ -50,7 +50,7 @@ runs:
|
||||
shell: bash
|
||||
if: always()
|
||||
run: |
|
||||
sed -ne "/^FAIL[[:alpha:]]*:/,/^[[:blank:]]*$/bF; /^Traceback/,/^[^[:blank:]]/{/^Traceback/bT; /^[^[:blank:]]/G; bT}; b; :T w ${{ inputs.logFile }}_tracebacks" -e "b; :F w ${{ inputs.logFile }}_failedtests" ${{ inputs.logFile }}
|
||||
sed -ne "/^\(FAILED\|ERROR\):/,/^[[:blank:]]*$/bF; /^Traceback/,/^[^[:blank:]]/{/^Traceback/bT; /^[^[:blank:]]/G; bT}; b; :T w ${{ inputs.logFile }}_tracebacks" -e "b; :F w ${{ inputs.logFile }}_failedtests" ${{ inputs.logFile }}
|
||||
icon=""
|
||||
if [ $( cat ${{ inputs.logFile }}_tracebacks | wc -l ) -gt 0 ]
|
||||
then
|
||||
|
||||
@@ -202,13 +202,13 @@ jobs:
|
||||
testCommand: xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
|
||||
logFile: ${{ env.logdir }}TestGUIBuild.log
|
||||
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
|
||||
- name: C++ unit tests
|
||||
- name: C++ tests
|
||||
timeout-minutes: 1
|
||||
uses: ./.github/workflows/actions/runCPPTests
|
||||
uses: ./.github/workflows/actions/runCPPTests/runAllTests
|
||||
with:
|
||||
testCommand: ${{ env.builddir }}/tests/Tests_run --gtest_output=json:${{env.reportdir}}gtest_results.json
|
||||
testLogFile: ${{env.reportdir}}gtest_test_log.txt
|
||||
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
|
||||
reportdir: ${{ env.reportdir }}
|
||||
builddir: ${{ env.builddir }}
|
||||
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
|
||||
- name: CMake Install
|
||||
uses: ./.github/workflows/actions/linux/install
|
||||
with:
|
||||
|
||||
@@ -200,13 +200,13 @@ jobs:
|
||||
testCommand: xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
|
||||
logFile: ${{ env.logdir }}TestGUIBuild.log
|
||||
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
|
||||
- name: C++ unit tests
|
||||
- name: C++ tests
|
||||
timeout-minutes: 1
|
||||
uses: ./.github/workflows/actions/runCPPTests
|
||||
uses: ./.github/workflows/actions/runCPPTests/runAllTests
|
||||
with:
|
||||
testCommand: ${{ env.builddir }}/tests/Tests_run --gtest_output=json:${{env.reportdir}}gtest_results.json
|
||||
testLogFile: ${{env.reportdir}}gtest_test_log.txt
|
||||
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
|
||||
reportdir: ${{ env.reportdir }}
|
||||
builddir: ${{ env.builddir }}
|
||||
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
|
||||
- name: CMake Install
|
||||
uses: ./.github/workflows/actions/linux/install
|
||||
with:
|
||||
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
path: ${{ env.artifactsDownloadDir }}
|
||||
- name: Save input data to file
|
||||
run: |
|
||||
cat > data << EOD
|
||||
cat > data << "EOD"
|
||||
${{ inputs.previousSteps }}
|
||||
EOD
|
||||
- name: Compute the report
|
||||
|
||||
@@ -37,6 +37,7 @@ install_manifest.txt
|
||||
/Mod/
|
||||
/ZERO_CHECK.dir/
|
||||
/build/
|
||||
/cmake-build*/
|
||||
/src/Tools/offlinedoc/localwiki/
|
||||
/src/Tools/offlinedoc/*.txt
|
||||
OpenSCAD_rc.py
|
||||
|
||||
+11
-4
@@ -5,22 +5,29 @@
|
||||
files: |
|
||||
(?x)^(
|
||||
src/Mod/AddonManager|
|
||||
tests/src
|
||||
src/Tools|
|
||||
tests/src|
|
||||
src/Mod/Sketcher
|
||||
)
|
||||
exclude: |
|
||||
(?x)^(
|
||||
.*vcproj.*|
|
||||
.*vcxproj.*
|
||||
)
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v3.2.0
|
||||
rev: v3.4.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-yaml
|
||||
- id: check-added-large-files
|
||||
- id: mixed-line-ending
|
||||
args: [--fix=lf]
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 22.10.0
|
||||
rev: 22.12.0
|
||||
hooks:
|
||||
- id: black
|
||||
args: ['--line-length', '100']
|
||||
- repo: https://github.com/pre-commit/mirrors-clang-format
|
||||
rev: v15.0.7
|
||||
hooks:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
# As of January 2023 we require CMake 3.16.3
|
||||
# see https://forum.freecadweb.org/viewtopic.php?f=10&t=72173
|
||||
# see https://forum.freecad.org/viewtopic.php?f=10&t=72173
|
||||
# for further info why
|
||||
cmake_minimum_required(VERSION 3.16.3 FATAL_ERROR)
|
||||
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ further defined and clarified by project maintainers.
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting any of the community admins or moderators at
|
||||
https://forum.freecadweb.org/memberlist.php?mode=team . All
|
||||
https://forum.freecad.org/memberlist.php?mode=team . All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ The FreeCAD Contribution Process is expressed here with the following specific g
|
||||
6. FreeCAD uses the Pull Request workflow for evaluating and accepting contributions.
|
||||
|
||||
## 3. Roles
|
||||
1. "User": An member of the wider FreeCAD community who uses the software.
|
||||
1. "User": A member of the wider FreeCAD community who uses the software.
|
||||
2. "Contributor": A person who submits a contribution that resolves a previously identified problem. Contributors do not have commit access to the repository unless they are also Maintainers. Everyone, without distinction or discrimination, SHALL have an equal right to become a Contributor.
|
||||
3. "Maintainer": A person who merges contributions. Maintainers may or may not be Contributors. Their role is to enforce the process. Maintainers have commit access to the repository.
|
||||
4. "Administrator": Administrators have additional authority to maintain the list of designated Maintainers.
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
<a href="https://freecadweb.org"><img src="https://www.freecadweb.org/svg/icon-freecad.svg" height="100px" width="100px"></a>
|
||||
<a href="https://freecad.org"><img src="https://www.freecad.org/svg/icon-freecad.svg" height="100px" width="100px"></a>
|
||||
|
||||
### Your own 3D parametric modeler
|
||||
|
||||
[Website](https://www.freecadweb.org) •
|
||||
[Documentation](https://wiki.freecadweb.org) •
|
||||
[Forum](https://forum.freecadweb.org/) •
|
||||
[Website](https://www.freecad.org) •
|
||||
[Documentation](https://wiki.freecad.org) •
|
||||
[Forum](https://forum.freecad.org/) •
|
||||
[Bug tracker](https://github.com/FreeCAD/FreeCAD/issues) •
|
||||
[Git repository](https://github.com/FreeCAD/FreeCAD)
|
||||
[Git repository](https://github.com/FreeCAD/FreeCAD) •
|
||||
[Blog](https://blog.freecad.org)
|
||||
|
||||
|
||||
[](https://github.com/freecad/freecad/releases/latest) [![Master][freecad-master-status]][gitlab-branch-master] [](https://crowdin.com/project/freecad) [](https://gitter.im/freecad/freecad?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://liberapay.com/FreeCAD)
|
||||
@@ -50,7 +51,7 @@ software center application.
|
||||
|
||||
For development releases check the [weekly-builds page](https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds).
|
||||
|
||||
Other options are described at the [wiki Download page](https://wiki.freecadweb.org/Download).
|
||||
Other options are described at the [wiki Download page](https://wiki.freecad.org/Download).
|
||||
|
||||
Build Status
|
||||
------------
|
||||
@@ -78,17 +79,18 @@ you will usually have to compile them yourself.
|
||||
|
||||
The pages below contain up-to-date build instructions:
|
||||
|
||||
- [Linux](https://wiki.freecadweb.org/Compile_on_Linux)
|
||||
- [Windows](https://wiki.freecadweb.org/Compile_on_Windows)
|
||||
- [macOS](https://wiki.freecadweb.org/Compile_on_MacOS)
|
||||
- [Cygwin](https://wiki.freecadweb.org/Compile_on_Cygwin)
|
||||
- [MinGW](https://wiki.freecadweb.org/Compile_on_MinGW)
|
||||
- [Linux](https://wiki.freecad.org/Compile_on_Linux)
|
||||
- [Windows](https://wiki.freecad.org/Compile_on_Windows)
|
||||
- [macOS](https://wiki.freecad.org/Compile_on_MacOS)
|
||||
- [Cygwin](https://wiki.freecad.org/Compile_on_Cygwin)
|
||||
- [MinGW](https://wiki.freecad.org/Compile_on_MinGW)
|
||||
|
||||
|
||||
Reporting Issues
|
||||
---------
|
||||
|
||||
To report an issue please:
|
||||
|
||||
- First post to forum to verify the issue;
|
||||
- Link forum thread to bug tracker ticket and vice-a-versa;
|
||||
- Use the most updated stable or development versions of FreeCAD;
|
||||
@@ -97,10 +99,16 @@ To report an issue please:
|
||||
- Upload an example file to demonstrate problem.
|
||||
|
||||
For more detail see:
|
||||
|
||||
- [Bug Tracker](https://github.com/FreeCAD/FreeCAD/issues)
|
||||
- [Reporting Issues and Requesting Features](https://github.com/FreeCAD/FreeCAD/issues/new/choose)
|
||||
- [Contributing](https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md)
|
||||
- [Help Forum](https://forum.freecadweb.org/viewforum.php?f=3)
|
||||
- [Help Forum](https://forum.freecad.org/viewforum.php?f=3)
|
||||
- [Developers Handbook](https://freecad.github.io/DevelopersHandbook/)
|
||||
|
||||
The [FPA](https://fpa.freecad.org) offers developers the opportunity
|
||||
to apply for a grant to work on projects of their choosing. Check
|
||||
[jobs and funding](https://blog.freecad.org/jobs/) to know more.
|
||||
|
||||
|
||||
Usage & Getting help
|
||||
@@ -110,14 +118,14 @@ The FreeCAD wiki contains documentation on
|
||||
general FreeCAD usage, Python scripting, and development. These
|
||||
pages might help you get started:
|
||||
|
||||
- [Getting started](https://wiki.freecadweb.org/Getting_started)
|
||||
- [Features list](https://wiki.freecadweb.org/Feature_list)
|
||||
- [Frequent questions](https://wiki.freecadweb.org/FAQ/en)
|
||||
- [Workbenches](https://wiki.freecadweb.org/Workbenches)
|
||||
- [Scripting](https://wiki.freecadweb.org/Power_users_hub)
|
||||
- [Development](https://wiki.freecadweb.org/Developer_hub)
|
||||
- [Getting started](https://wiki.freecad.org/Getting_started)
|
||||
- [Features list](https://wiki.freecad.org/Feature_list)
|
||||
- [Frequent questions](https://wiki.freecad.org/FAQ/en)
|
||||
- [Workbenches](https://wiki.freecad.org/Workbenches)
|
||||
- [Scripting](https://wiki.freecad.org/Power_users_hub)
|
||||
- [Development](https://wiki.freecad.org/Developer_hub)
|
||||
|
||||
The [FreeCAD forum](https://forum.freecadweb.org) is also a great place
|
||||
The [FreeCAD forum](https://forum.freecad.org) is also a great place
|
||||
to find help and solve specific problems you might encounter when
|
||||
learning to use FreeCAD.
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ macro(CheckInterModuleDependencies)
|
||||
REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART)
|
||||
REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT)
|
||||
REQUIRES_MODS(BUILD_PART_DESIGN BUILD_SKETCHER)
|
||||
REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH BUILD_ROBOT)
|
||||
REQUIRES_MODS(BUILD_RAYTRACING BUILD_PART)
|
||||
# REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH BUILD_ROBOT)
|
||||
REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH)
|
||||
REQUIRES_MODS(BUILD_REVERSEENGINEERING BUILD_PART BUILD_MESH)
|
||||
REQUIRES_MODS(BUILD_ROBOT BUILD_PART)
|
||||
REQUIRES_MODS(BUILD_SANDBOX BUILD_PART BUILD_MESH)
|
||||
|
||||
@@ -119,7 +119,6 @@ macro(InitializeFreeCADBuildOptions)
|
||||
option(BUILD_PATH "Build the FreeCAD path module" ON)
|
||||
option(BUILD_PLOT "Build the FreeCAD plot module" ON)
|
||||
option(BUILD_POINTS "Build the FreeCAD points module" ON)
|
||||
option(BUILD_RAYTRACING "Build the FreeCAD ray tracing module" ON)
|
||||
option(BUILD_REVERSEENGINEERING "Build the FreeCAD reverse engineering module" ON)
|
||||
option(BUILD_ROBOT "Build the FreeCAD robot module" ON)
|
||||
option(BUILD_SHOW "Build the FreeCAD Show module (helper module for visibility automation)" ON)
|
||||
|
||||
@@ -11,14 +11,14 @@ macro(SetupEigen)
|
||||
"=================\n")
|
||||
endif(NOT EIGEN3_FOUND)
|
||||
|
||||
if (${EIGEN3_VERSION} VERSION_LESS "3.3.1")
|
||||
if (EIGEN3_FOUND AND ${EIGEN3_VERSION} VERSION_LESS "3.3.1")
|
||||
message(WARNING "Disable module flatmesh because it requires "
|
||||
"minimum Eigen3 version 3.3.1 but version ${EIGEN3_VERSION} was found")
|
||||
set (BUILD_FLAT_MESH OFF)
|
||||
endif()
|
||||
|
||||
# Older versions raise the warning -Wdeprecated-copy with clang10/gcc10
|
||||
if (${EIGEN3_VERSION} VERSION_LESS "3.3.8")
|
||||
if (EIGEN3_FOUND AND ${EIGEN3_VERSION} VERSION_LESS "3.3.8")
|
||||
unset(_flag_found CACHE)
|
||||
check_cxx_compiler_flag("-Wno-deprecated-copy" _flag_found)
|
||||
if (_flag_found)
|
||||
|
||||
@@ -15,7 +15,7 @@ if(BUILD_GUI)
|
||||
list (APPEND FREECAD_QT_COMPONENTS WinExtras)
|
||||
endif()
|
||||
endif()
|
||||
list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets)
|
||||
list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets LinguistTools)
|
||||
if (BUILD_WEB)
|
||||
list (APPEND FREECAD_QT_COMPONENTS WebEngineWidgets)
|
||||
endif()
|
||||
@@ -62,4 +62,36 @@ if (Qt${FREECAD_QT_MAJOR_VERSION}Core_VERSION VERSION_LESS 5.15.0)
|
||||
qt5_wrap_cpp("${outfiles}" ${ARGN})
|
||||
set("${outfiles}" "${${outfiles}}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(qt_add_translation _qm_files)
|
||||
qt5_add_translation("${_qm_files}" ${ARGN})
|
||||
set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
endif()
|
||||
|
||||
function(qt_find_and_add_translation _qm_files _tr_dir _qm_dir)
|
||||
file(GLOB _ts_files ${_tr_dir})
|
||||
set_source_files_properties(${_ts_files} PROPERTIES OUTPUT_LOCATION ${_qm_dir})
|
||||
qt_add_translation("${_qm_files}" ${_ts_files})
|
||||
set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(qt_create_resource_file outfile)
|
||||
set(QRC "<RCC>\n <qresource>\n")
|
||||
foreach (it ${ARGN})
|
||||
get_filename_component(qmfile "${it}" NAME)
|
||||
string(APPEND QRC " <file>translations/${qmfile}</file>")
|
||||
endforeach()
|
||||
string(APPEND QRC " </qresource>\n</RCC>\n")
|
||||
file(WRITE ${outfile} ${QRC})
|
||||
endfunction()
|
||||
|
||||
function(qt_create_resource_file_prefix outfile)
|
||||
set(QRC "<RCC>\n <qresource prefix=\"/translations\">\n")
|
||||
foreach (it ${ARGN})
|
||||
get_filename_component(qmfile "${it}" NAME)
|
||||
string(APPEND QRC " <file>${qmfile}</file>")
|
||||
endforeach()
|
||||
string(APPEND QRC " </qresource>\n</RCC>\n")
|
||||
file(WRITE ${outfile} ${QRC})
|
||||
endfunction()
|
||||
|
||||
@@ -4,7 +4,7 @@ macro(SetupSalomeSMESH)
|
||||
# Salome SMESH sources are under src/3rdParty now
|
||||
if(BUILD_SMESH)
|
||||
# set the internal smesh version:
|
||||
# see src/3rdParty/salomonemesh/CMakeLists.txt and commit https://github.com/FreeCAD/FreeCAD/commit/666a3e5 and https://forum.freecadweb.org/viewtopic.php?f=10&t=30838
|
||||
# see src/3rdParty/salomonemesh/CMakeLists.txt and commit https://github.com/FreeCAD/FreeCAD/commit/666a3e5 and https://forum.freecad.org/viewtopic.php?f=10&t=30838
|
||||
set(SMESH_VERSION_MAJOR 7)
|
||||
set(SMESH_VERSION_MINOR 7)
|
||||
set(SMESH_VERSION_PATCH 1)
|
||||
|
||||
@@ -75,7 +75,7 @@ dependencies:
|
||||
- ninja
|
||||
- numpy
|
||||
- occt==7.6.3
|
||||
- openssl==3.0.8
|
||||
- openssl==3.0.*
|
||||
- pcl
|
||||
- pip
|
||||
- pivy
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
# Maintainers: keep this list of plugins up to date
|
||||
# List plugins in %%{_libdir}/%{name}/lib, less '.so' and 'Gui.so', here
|
||||
%global plugins Fem FreeCAD PathApp Import Inspection Mesh MeshPart Part Points Raytracing ReverseEngineering Robot Sketcher Start Web PartDesignGui _PartDesign Path PathGui Spreadsheet SpreadsheetGui area DraftUtils DraftUtils libDriver libDriverDAT libDriverSTL libDriverUNV libE57Format libMEFISTO2 libSMDS libSMESH libSMESHDS libStdMeshers Measure TechDraw TechDrawGui libarea-native Surface SurfaceGui PathSimulator
|
||||
%global plugins Fem FreeCAD PathApp Import Inspection Mesh MeshPart Part Points ReverseEngineering Robot Sketcher Start Web PartDesignGui _PartDesign Path PathGui Spreadsheet SpreadsheetGui area DraftUtils DraftUtils libDriver libDriverDAT libDriverSTL libDriverUNV libE57Format libMEFISTO2 libSMDS libSMESH libSMESHDS libStdMeshers Measure TechDraw TechDrawGui libarea-native Surface SurfaceGui PathSimulator
|
||||
|
||||
|
||||
# Some configuration options for other environments
|
||||
@@ -34,12 +34,12 @@
|
||||
Name: %{name}
|
||||
Epoch: 1
|
||||
Version: 0.21
|
||||
Release: pre_32806%{?dist}
|
||||
Release: pre_{{{git_commit_no}}}%{?dist}
|
||||
Summary: A general purpose 3D CAD modeler
|
||||
Group: Applications/Engineering
|
||||
|
||||
License: LGPLv2+
|
||||
URL: http://www.freecadweb.org/
|
||||
URL: http://www.freecad.org/
|
||||
Source0: https://github.com/%{github_name}/FreeCAD/archive/%{branch}.tar.gz
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@ BuildRequires: qt5-qttools-static
|
||||
BuildRequires: qt5-qtxmlpatterns-devel
|
||||
|
||||
BuildRequires: fmt-devel
|
||||
BuildRequires: qqc2-desktop-style
|
||||
|
||||
|
||||
BuildRequires: xerces-c
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ pyshp==2.3.1
|
||||
PySide2==5.15.2.1
|
||||
pysolar==0.10
|
||||
PyYAML==6.0
|
||||
requests==2.28.2
|
||||
requests==2.31.0
|
||||
rpdb2==2.0.0.1.2
|
||||
sets==0.3.2
|
||||
vermin==1.5.1
|
||||
|
||||
+1
-1
@@ -8,5 +8,5 @@ add_custom_target(lazy_loader ALL SOURCES
|
||||
SET_PYTHON_PREFIX_SUFFIX(lazy_loader)
|
||||
|
||||
fc_copy_sources(lazy_loader "${CMAKE_BINARY_DIR}/Ext/lazy_loader" ${lazy_loader})
|
||||
install (FILES ${lazy_loader} DESTINATION "${CMAKE_INSTALL_PREFIX}/Ext/lazy_loader")
|
||||
install (FILES ${lazy_loader} DESTINATION "Ext/lazy_loader")
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
|
||||
{
|
||||
// Kernel_Utils::Localizer loc;
|
||||
Status aResult = DRS_OK;
|
||||
// See http://forum.freecadweb.org/viewtopic.php?f=18&t=14404&p=135981#p136086 (wmayer)
|
||||
// See http://forum.freecad.org/viewtopic.php?f=18&t=14404&p=135981#p136086 (wmayer)
|
||||
// Line endings in UNIX format cause problems on Windows, thus the file must be opened
|
||||
// in binary mode.
|
||||
std::ifstream in_stream(myFile.c_str(), std::ios::in | std::ios::binary);
|
||||
|
||||
@@ -2286,7 +2286,7 @@ void parseProgramOptions(int ac, char ** av, const string& exe, variables_map& v
|
||||
if (vm.count("help")) {
|
||||
std::stringstream str;
|
||||
str << exe << endl << endl;
|
||||
str << "For a detailed description see https://www.freecadweb.org/wiki/Start_up_and_Configuration" << endl<<endl;
|
||||
str << "For a detailed description see https://www.freecad.org/wiki/Start_up_and_Configuration" << endl<<endl;
|
||||
str << "Usage: " << exe << " [options] File1 File2 ..." << endl << endl;
|
||||
str << visible << endl;
|
||||
throw Base::ProgramInformation(str.str());
|
||||
@@ -2948,7 +2948,7 @@ void Application::LoadParameters()
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
// fix weird error while linking boost (all versions of VC)
|
||||
// VS2010: https://forum.freecadweb.org/viewtopic.php?f=4&t=1886&p=12553&hilit=boost%3A%3Afilesystem%3A%3Aget#p12553
|
||||
// VS2010: https://forum.freecad.org/viewtopic.php?f=4&t=1886&p=12553&hilit=boost%3A%3Afilesystem%3A%3Aget#p12553
|
||||
namespace boost { namespace program_options { std::string arg="arg"; } }
|
||||
namespace boost { namespace program_options {
|
||||
const unsigned options_description::m_default_line_length = 80;
|
||||
|
||||
@@ -90,6 +90,8 @@ generate_from_xml(GeoFeatureGroupExtensionPy)
|
||||
generate_from_xml(MetadataPy)
|
||||
generate_from_xml(OriginGroupExtensionPy)
|
||||
generate_from_xml(PartPy)
|
||||
generate_from_xml(StringHasherPy)
|
||||
generate_from_xml(StringIDPy)
|
||||
|
||||
generate_from_xml(ComplexGeoDataPy)
|
||||
generate_from_xml(PropertyContainerPy)
|
||||
@@ -115,6 +117,8 @@ SET(FreeCADApp_XML_SRCS
|
||||
PropertyContainerPy.xml
|
||||
ComplexGeoDataPy.xml
|
||||
MaterialPy.xml
|
||||
StringHasherPy.xml
|
||||
StringIDPy.xml
|
||||
)
|
||||
SOURCE_GROUP("XML" FILES ${FreeCADApp_XML_SRCS})
|
||||
|
||||
@@ -270,6 +274,9 @@ SET(FreeCADApp_CPP_SRCS
|
||||
MaterialPyImp.cpp
|
||||
Metadata.cpp
|
||||
MetadataPyImp.cpp
|
||||
StringHasher.cpp
|
||||
StringHasherPyImp.cpp
|
||||
StringIDPyImp.cpp
|
||||
)
|
||||
|
||||
SET(FreeCADApp_HPP_SRCS
|
||||
@@ -288,6 +295,7 @@ SET(FreeCADApp_HPP_SRCS
|
||||
MappedElement.h
|
||||
Material.h
|
||||
Metadata.h
|
||||
StringHasher.h
|
||||
)
|
||||
|
||||
SET(FreeCADApp_SRCS
|
||||
|
||||
@@ -1901,7 +1901,7 @@ bool Document::saveToFile(const char* filename) const
|
||||
|
||||
writer.Stream() << "<?xml version='1.0' encoding='utf-8'?>" << endl
|
||||
<< "<!--" << endl
|
||||
<< " FreeCAD Document, see https://www.freecadweb.org for more information..." << endl
|
||||
<< " FreeCAD Document, see https://www.freecad.org for more information..." << endl
|
||||
<< "-->" << endl;
|
||||
Document::Save(writer);
|
||||
|
||||
@@ -2828,7 +2828,7 @@ int Document::recompute(const std::vector<App::DocumentObject*> &objs, bool forc
|
||||
if (!d->_RecomputeLog.empty()) {
|
||||
d->pendingRemove.clear();
|
||||
if (!testStatus(Status::IgnoreErrorOnRecompute))
|
||||
Base::Console().Error("Recompute failed! Please check report view.\n");
|
||||
Base::Console().Error("Recompute failed!\n");
|
||||
}
|
||||
else {
|
||||
for(auto &o : d->pendingRemove) {
|
||||
|
||||
@@ -897,6 +897,17 @@ std::vector<std::pair<App::DocumentObject *,std::string>> DocumentObject::getPar
|
||||
return ret;
|
||||
}
|
||||
|
||||
App::DocumentObject* DocumentObject::getFirstParent() const
|
||||
{
|
||||
for (auto obj : getInList()) {
|
||||
if (obj->hasExtension(App::GroupExtension::getExtensionClassTypeId(), true)) {
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
DocumentObject *DocumentObject::getLinkedObject(
|
||||
bool recursive, Base::Matrix4D *mat, bool transform, int depth) const
|
||||
{
|
||||
|
||||
@@ -383,6 +383,9 @@ public:
|
||||
///Obtain top parents and subnames of this object using its InList
|
||||
std::vector<std::pair<App::DocumentObject*,std::string> > getParents(int depth=0) const;
|
||||
|
||||
/// Obtain the first parent group of this object
|
||||
App::DocumentObject* getFirstParent() const;
|
||||
|
||||
/** Return the linked object with optional transformation
|
||||
*
|
||||
* @param recurse: If false, return the immediate linked object, or else
|
||||
|
||||
@@ -1314,7 +1314,7 @@ void NumberExpression::_toString(std::ostream &ss, bool,int) const
|
||||
{
|
||||
// Restore the old implementation because using digits10 + 2 causes
|
||||
// undesired side-effects:
|
||||
// https://forum.freecadweb.org/viewtopic.php?f=3&t=44057&p=375882#p375882
|
||||
// https://forum.freecad.org/viewtopic.php?f=3&t=44057&p=375882#p375882
|
||||
// See also:
|
||||
// https://en.cppreference.com/w/cpp/types/numeric_limits/digits10
|
||||
// https://en.cppreference.com/w/cpp/types/numeric_limits/max_digits10
|
||||
|
||||
@@ -231,9 +231,9 @@ EXPO [eE][-+]?[0-9]+
|
||||
"cd" COUNTCHARS; yylval.quantity.scaler = Quantity::Candela; yylval.quantity.unitStr = yytext; return UNIT; // Candela (internal standard luminous intensity)
|
||||
|
||||
"in" COUNTCHARS; yylval.quantity.scaler = Quantity::Inch; yylval.quantity.unitStr = yytext; return UNIT; // inch
|
||||
"\"" COUNTCHARS; yylval.quantity.scaler = Quantity::Inch; yylval.quantity.unitStr = yytext; return UNIT; // inch
|
||||
"\"" COUNTCHARS; yylval.quantity.scaler = Quantity::Inch; yylval.quantity.unitStr = yytext; return USUNIT; // inch
|
||||
"ft" COUNTCHARS; yylval.quantity.scaler = Quantity::Foot; yylval.quantity.unitStr = yytext; return UNIT; // foot
|
||||
"'" COUNTCHARS; yylval.quantity.scaler = Quantity::Foot; yylval.quantity.unitStr = yytext; return UNIT; // foot
|
||||
"'" COUNTCHARS; yylval.quantity.scaler = Quantity::Foot; yylval.quantity.unitStr = yytext; return USUNIT; // foot
|
||||
"thou" COUNTCHARS; yylval.quantity.scaler = Quantity::Thou; yylval.quantity.unitStr = yytext; return UNIT; // thou (in/1000)
|
||||
"mil" COUNTCHARS; yylval.quantity.scaler = Quantity::Thou; yylval.quantity.unitStr = yytext; return UNIT; // mil (the thou in US)
|
||||
"yd" COUNTCHARS; yylval.quantity.scaler = Quantity::Yard; yylval.quantity.unitStr = yytext; return UNIT; // yard
|
||||
|
||||
+1007
-1110
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,9 @@
|
||||
/* A Bison parser, made by GNU Bison 3.0.4. */
|
||||
/* A Bison parser, made by GNU Bison 3.8.2. */
|
||||
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -15,7 +16,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* As a special exception, you may create a larger work that contains
|
||||
part or all of the Bison parser skeleton and distribute that work
|
||||
@@ -30,6 +31,10 @@
|
||||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
||||
especially those whose name start with YY_ or yy_. They are
|
||||
private implementation details that can be changed or removed. */
|
||||
|
||||
#ifndef YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED
|
||||
# define YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED
|
||||
/* Debug traces. */
|
||||
@@ -40,35 +45,41 @@
|
||||
extern int yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
/* Token kinds. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
FUNC = 258,
|
||||
ONE = 259,
|
||||
NUM = 260,
|
||||
IDENTIFIER = 261,
|
||||
UNIT = 262,
|
||||
INTEGER = 263,
|
||||
CONSTANT = 264,
|
||||
CELLADDRESS = 265,
|
||||
EQ = 266,
|
||||
NEQ = 267,
|
||||
LT = 268,
|
||||
GT = 269,
|
||||
GTE = 270,
|
||||
LTE = 271,
|
||||
STRING = 272,
|
||||
MINUSSIGN = 273,
|
||||
PROPERTY_REF = 274,
|
||||
DOCUMENT = 275,
|
||||
OBJECT = 276,
|
||||
EXPONENT = 277,
|
||||
NUM_AND_UNIT = 278,
|
||||
NEG = 279,
|
||||
POS = 280
|
||||
YYEMPTY = -2,
|
||||
YYEOF = 0, /* "end of file" */
|
||||
YYerror = 256, /* error */
|
||||
YYUNDEF = 257, /* "invalid token" */
|
||||
FUNC = 258, /* FUNC */
|
||||
ONE = 259, /* ONE */
|
||||
NUM = 260, /* NUM */
|
||||
IDENTIFIER = 261, /* IDENTIFIER */
|
||||
UNIT = 262, /* UNIT */
|
||||
USUNIT = 263, /* USUNIT */
|
||||
INTEGER = 264, /* INTEGER */
|
||||
CONSTANT = 265, /* CONSTANT */
|
||||
CELLADDRESS = 266, /* CELLADDRESS */
|
||||
EQ = 267, /* EQ */
|
||||
NEQ = 268, /* NEQ */
|
||||
LT = 269, /* LT */
|
||||
GT = 270, /* GT */
|
||||
GTE = 271, /* GTE */
|
||||
LTE = 272, /* LTE */
|
||||
STRING = 273, /* STRING */
|
||||
MINUSSIGN = 274, /* MINUSSIGN */
|
||||
PROPERTY_REF = 275, /* PROPERTY_REF */
|
||||
DOCUMENT = 276, /* DOCUMENT */
|
||||
OBJECT = 277, /* OBJECT */
|
||||
EXPONENT = 278, /* EXPONENT */
|
||||
NUM_AND_UNIT = 279, /* NUM_AND_UNIT */
|
||||
NEG = 280, /* NEG */
|
||||
POS = 281 /* POS */
|
||||
};
|
||||
typedef enum yytokentype yytoken_kind_t;
|
||||
#endif
|
||||
|
||||
/* Value type. */
|
||||
@@ -76,6 +87,8 @@ extern int yydebug;
|
||||
|
||||
extern YYSTYPE yylval;
|
||||
|
||||
|
||||
int yyparse (void);
|
||||
|
||||
|
||||
#endif /* !YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED */
|
||||
|
||||
+23
-15
@@ -40,7 +40,7 @@ std::stack<FunctionExpression::Function> functions; /**< Function
|
||||
%token ONE
|
||||
%token NUM
|
||||
%token IDENTIFIER
|
||||
%token UNIT
|
||||
%token UNIT USUNIT
|
||||
%token INTEGER
|
||||
%token CONSTANT
|
||||
%token CELLADDRESS
|
||||
@@ -49,8 +49,8 @@ std::stack<FunctionExpression::Function> functions; /**< Function
|
||||
%token DOCUMENT OBJECT
|
||||
%token EXPONENT
|
||||
%type <arguments> args
|
||||
%type <expr> input exp unit_exp cond indexable
|
||||
%type <quantity> UNIT
|
||||
%type <expr> input unit_num us_building_unit other_unit exp unit_exp cond indexable
|
||||
%type <quantity> UNIT USUNIT
|
||||
%type <string> id_or_cell STRING IDENTIFIER CELLADDRESS
|
||||
%type <ivalue> INTEGER
|
||||
%type <string> PROPERTY_REF
|
||||
@@ -79,28 +79,32 @@ std::stack<FunctionExpression::Function> functions; /**< Function
|
||||
%destructor { std::vector<Expression*>::const_iterator i = $$.begin(); while (i != $$.end()) { delete *i; ++i; } } args
|
||||
|
||||
%start input
|
||||
|
||||
%%
|
||||
|
||||
input: exp { ScanResult = $1; valueExpression = true; }
|
||||
| unit_exp { ScanResult = $1; unitExpression = true; }
|
||||
|
||||
input: exp { ScanResult = $1; valueExpression = true; }
|
||||
| unit_exp { ScanResult = $1; unitExpression = true; }
|
||||
;
|
||||
|
||||
exp: num { $$ = $1; }
|
||||
| num unit_exp %prec NUM_AND_UNIT { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::UNIT, $2); }
|
||||
unit_num: num unit_exp %prec NUM_AND_UNIT { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::UNIT, $2); }
|
||||
| num us_building_unit num us_building_unit %prec NUM_AND_UNIT { $$ = new OperatorExpression(DocumentObject, new OperatorExpression(DocumentObject, $1, OperatorExpression::UNIT, $2), OperatorExpression::ADD, new OperatorExpression(DocumentObject, $3, OperatorExpression::UNIT, $4));}
|
||||
;
|
||||
|
||||
exp: num { $$ = $1; }
|
||||
| unit_num { $$ = $1; }
|
||||
| STRING { $$ = new StringExpression(DocumentObject, $1); }
|
||||
| identifier { $$ = new VariableExpression(DocumentObject, $1); }
|
||||
| MINUSSIGN exp %prec NEG { $$ = new OperatorExpression(DocumentObject, $2, OperatorExpression::NEG, new NumberExpression(DocumentObject, Quantity(-1))); }
|
||||
| '+' exp %prec POS { $$ = new OperatorExpression(DocumentObject, $2, OperatorExpression::POS, new NumberExpression(DocumentObject, Quantity(1))); }
|
||||
| exp '+' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::ADD, $3); }
|
||||
| exp '+' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::ADD, $3); }
|
||||
| exp MINUSSIGN exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::SUB, $3); }
|
||||
| exp '*' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MUL, $3); }
|
||||
| exp '/' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::DIV, $3); }
|
||||
| exp '%' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MOD, $3); }
|
||||
| exp '*' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MUL, $3); }
|
||||
| exp '/' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::DIV, $3); }
|
||||
| exp '%' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MOD, $3); }
|
||||
| exp '/' unit_exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::DIV, $3); }
|
||||
| exp '^' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::POW, $3); }
|
||||
| indexable { $$ = $1; }
|
||||
| FUNC args ')' { $$ = new FunctionExpression(DocumentObject, $1.first, std::move($1.second), $2); }
|
||||
| indexable { $$ = $1; }
|
||||
| FUNC args ')' { $$ = new FunctionExpression(DocumentObject, $1.first, std::move($1.second), $2);}
|
||||
| cond '?' exp ':' exp { $$ = new ConditionalExpression(DocumentObject, $1, $3, $5); }
|
||||
| '(' exp ')' { $$ = $2; }
|
||||
;
|
||||
@@ -130,7 +134,11 @@ cond: exp EQ exp { $$ = new OperatorExpression(Do
|
||||
| '(' cond ')' { $$ = $2; }
|
||||
;
|
||||
|
||||
unit_exp: UNIT { $$ = new UnitExpression(DocumentObject, $1.scaler, $1.unitStr ); }
|
||||
us_building_unit: USUNIT { $$ = new UnitExpression(DocumentObject, $1.scaler, $1.unitStr ); }
|
||||
other_unit: UNIT { $$ = new UnitExpression(DocumentObject, $1.scaler, $1.unitStr ); }
|
||||
|
||||
unit_exp: other_unit { $$ = $1; }
|
||||
| us_building_unit { $$ = $1; }
|
||||
| unit_exp '/' unit_exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::DIV, $3); }
|
||||
| unit_exp '*' unit_exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MUL, $3); }
|
||||
| unit_exp '^' integer { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::POW, new NumberExpression(DocumentObject, Quantity((double)$3))); }
|
||||
|
||||
@@ -39,7 +39,7 @@ QString ExpressionTokenizer::perform(const QString& prefix, int pos)
|
||||
{
|
||||
// ExpressionParser::tokenize() only supports std::string but we need a tuple QString
|
||||
// because due to UTF-8 encoding a std::string may be longer than a QString
|
||||
// See https://forum.freecadweb.org/viewtopic.php?f=3&t=69931
|
||||
// See https://forum.freecad.org/viewtopic.php?f=3&t=69931
|
||||
auto tokenizeExpression = [](const QString& expr) {
|
||||
std::vector<std::tuple<int, int, std::string>> result =
|
||||
ExpressionParser::tokenize(expr.toStdString());
|
||||
|
||||
+1
-1
@@ -183,7 +183,7 @@ struct AppExport GenericMetadata {
|
||||
*
|
||||
* The metadata format is based on https://ros.org/reps/rep-0149.html, modified for FreeCAD
|
||||
* use. Full format documentation is available at the FreeCAD Wiki:
|
||||
* https://wiki.freecadweb.org/Package_Metadata
|
||||
* https://wiki.freecad.org/Package_Metadata
|
||||
*/
|
||||
class AppExport Metadata
|
||||
{
|
||||
|
||||
+10
-9
@@ -44,9 +44,6 @@ using namespace App;
|
||||
|
||||
PROPERTY_SOURCE(App::Origin, App::DocumentObject)
|
||||
|
||||
const char* Origin::AxisRoles[3] = {"X_Axis", "Y_Axis", "Z_Axis"};
|
||||
const char* Origin::PlaneRoles[3] = {"XY_Plane", "XZ_Plane", "YZ_Plane"};
|
||||
|
||||
Origin::Origin() : extension(this) {
|
||||
ADD_PROPERTY_TYPE ( OriginFeatures, (nullptr), 0, App::Prop_Hidden,
|
||||
"Axis and baseplanes controlled by the origin" );
|
||||
@@ -137,14 +134,15 @@ void Origin::setupObject () {
|
||||
const static struct {
|
||||
const Base::Type type;
|
||||
const char *role;
|
||||
const QString label;
|
||||
Base::Rotation rot;
|
||||
} setupData [] = {
|
||||
{App::Line::getClassTypeId(), "X_Axis", Base::Rotation () },
|
||||
{App::Line::getClassTypeId(), "Y_Axis", Base::Rotation ( Base::Vector3d (1,1,1), M_PI*2/3 ) },
|
||||
{App::Line::getClassTypeId(), "Z_Axis", Base::Rotation ( Base::Vector3d (1,1,1), M_PI*4/3 ) },
|
||||
{App::Plane::getClassTypeId (), "XY_Plane", Base::Rotation () },
|
||||
{App::Plane::getClassTypeId (), "XZ_Plane", Base::Rotation ( 1.0, 0.0, 0.0, 1.0 ), },
|
||||
{App::Plane::getClassTypeId (), "YZ_Plane", Base::Rotation ( Base::Vector3d (1,1,1), M_PI*2/3 ) },
|
||||
{App::Line::getClassTypeId(), AxisRoles[0], tr("X-axis"), Base::Rotation()},
|
||||
{App::Line::getClassTypeId(), AxisRoles[1], tr("Y-axis"), Base::Rotation(Base::Vector3d(1,1,1), M_PI*2/3)},
|
||||
{App::Line::getClassTypeId(), AxisRoles[2], tr("Z-axis"), Base::Rotation(Base::Vector3d(1,-1,1), M_PI*2/3)},
|
||||
{App::Plane::getClassTypeId(), PlaneRoles[0], tr("XY-plane"), Base::Rotation()},
|
||||
{App::Plane::getClassTypeId(), PlaneRoles[1], tr("XZ-plane"), Base::Rotation(1.0, 0.0, 0.0, 1.0 )},
|
||||
{App::Plane::getClassTypeId(), PlaneRoles[2], tr("YZ-plane"), Base::Rotation(Base::Vector3d(1,1,1), M_PI*2/3)}
|
||||
};
|
||||
|
||||
App::Document *doc = getDocument ();
|
||||
@@ -156,6 +154,9 @@ void Origin::setupObject () {
|
||||
|
||||
assert ( featureObj && featureObj->isDerivedFrom ( App::OriginFeature::getClassTypeId () ) );
|
||||
|
||||
QByteArray byteArray = data.label.toUtf8();
|
||||
featureObj->Label.setValue(byteArray.constData());
|
||||
|
||||
App::OriginFeature *feature = static_cast <App::OriginFeature *> ( featureObj );
|
||||
feature->Placement.setValue ( Base::Placement ( Base::Vector3d (), data.rot ) );
|
||||
feature->Role.setValue ( data.role );
|
||||
|
||||
+10
-8
@@ -28,6 +28,7 @@
|
||||
#include "GeoFeatureGroupExtension.h"
|
||||
#include "OriginFeature.h"
|
||||
|
||||
#include "QCoreApplication"
|
||||
|
||||
namespace App
|
||||
{
|
||||
@@ -37,6 +38,7 @@ namespace App
|
||||
class AppExport Origin : public App::DocumentObject
|
||||
{
|
||||
PROPERTY_HEADER_WITH_OVERRIDE(App::Origin);
|
||||
Q_DECLARE_TR_FUNCTIONS(App::Origin)
|
||||
|
||||
public:
|
||||
/// Constructor
|
||||
@@ -55,28 +57,28 @@ public:
|
||||
///@{
|
||||
// returns X axis
|
||||
App::Line *getX () const {
|
||||
return getAxis ("X_Axis");
|
||||
return getAxis (AxisRoles[0]);
|
||||
}
|
||||
// returns Y axis
|
||||
App::Line *getY () const {
|
||||
return getAxis ("Y_Axis");
|
||||
return getAxis (AxisRoles[1]);
|
||||
}
|
||||
// returns Z axis
|
||||
App::Line *getZ () const {
|
||||
return getAxis ("Z_Axis");
|
||||
return getAxis (AxisRoles[2]);
|
||||
}
|
||||
|
||||
// returns XY plane
|
||||
App::Plane *getXY () const {
|
||||
return getPlane ("XY_Plane");
|
||||
return getPlane (PlaneRoles[0]);
|
||||
}
|
||||
// returns XZ plane
|
||||
App::Plane *getXZ () const {
|
||||
return getPlane ("XZ_Plane");
|
||||
return getPlane (PlaneRoles[1]);
|
||||
}
|
||||
// returns YZ plane
|
||||
App::Plane *getYZ () const {
|
||||
return getPlane ("YZ_Plane");
|
||||
return getPlane (PlaneRoles[2]);
|
||||
}
|
||||
|
||||
/// Returns all axis objects to iterate on them
|
||||
@@ -115,9 +117,9 @@ public:
|
||||
short mustExecute() const override;
|
||||
|
||||
/// Axis types
|
||||
static const char* AxisRoles[3];
|
||||
static constexpr char* AxisRoles[3] = {"X_Axis", "Y_Axis", "Z_Axis"};
|
||||
/// Baseplane types
|
||||
static const char* PlaneRoles[3];
|
||||
static constexpr char* PlaneRoles[3] = {"XY_Plane", "XZ_Plane", "YZ_Plane"};
|
||||
|
||||
// Axis links
|
||||
PropertyLinkList OriginFeatures;
|
||||
|
||||
@@ -129,10 +129,17 @@ App::DocumentObjectExecReturn *OriginGroupExtension::extensionExecute() {
|
||||
return GeoFeatureGroupExtension::extensionExecute ();
|
||||
}
|
||||
|
||||
App::DocumentObject *OriginGroupExtension::getLocalizedOrigin(App::Document *doc) {
|
||||
App::DocumentObject *originObject = doc->addObject ( "App::Origin", "Origin" );
|
||||
QByteArray byteArray = tr("Origin").toUtf8();
|
||||
originObject->Label.setValue(byteArray.constData());
|
||||
return originObject;
|
||||
}
|
||||
|
||||
void OriginGroupExtension::onExtendedSetupObject () {
|
||||
App::Document *doc = getExtendedObject()->getDocument ();
|
||||
|
||||
App::DocumentObject *originObj = doc->addObject ( "App::Origin", "Origin" );
|
||||
App::DocumentObject *originObj = getLocalizedOrigin(doc);
|
||||
|
||||
assert ( originObj && originObj->isDerivedFrom ( App::Origin::getClassTypeId () ) );
|
||||
Origin.setValue (originObj);
|
||||
@@ -160,10 +167,11 @@ void OriginGroupExtension::extensionOnChanged(const Property* p) {
|
||||
&& owner->getDocument()->testStatus(Document::Importing)) {
|
||||
for (auto o : origin->getInList()) {
|
||||
if(o != owner && o->hasExtension(App::OriginGroupExtension::getExtensionClassTypeId())) {
|
||||
App::Document *document = owner->getDocument();
|
||||
// Temporarily reset 'Restoring' status to allow document to auto label new objects
|
||||
Base::ObjectStatusLocker<Document::Status, Document> guard(
|
||||
Document::Restoring, owner->getDocument(), false);
|
||||
Origin.setValue(owner->getDocument()->addObject("App::Origin", "Origin"));
|
||||
Document::Restoring, document, false);
|
||||
Origin.setValue(getLocalizedOrigin(document));
|
||||
FC_WARN("Reset origin in " << owner->getFullName());
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#define ORIGINGROUP_H_QHTU73IF
|
||||
|
||||
#include "GeoFeatureGroupExtension.h"
|
||||
#include "QCoreApplication"
|
||||
|
||||
namespace App {
|
||||
class Origin;
|
||||
@@ -34,6 +35,7 @@ class Origin;
|
||||
class AppExport OriginGroupExtension : public App::GeoFeatureGroupExtension
|
||||
{
|
||||
EXTENSION_PROPERTY_HEADER_WITH_OVERRIDE(App::OriginGroupExtension);
|
||||
Q_DECLARE_TR_FUNCTIONS(App::OriginGroupExtension)
|
||||
|
||||
public:
|
||||
OriginGroupExtension ();
|
||||
@@ -78,6 +80,10 @@ protected:
|
||||
void onExtendedSetupObject () override;
|
||||
/// Removes all planes and axis if they are still linked to the document
|
||||
void onExtendedUnsetupObject () override;
|
||||
|
||||
private:
|
||||
/// Creates a localized Origin object
|
||||
App::DocumentObject *getLocalizedOrigin(App::Document *doc);
|
||||
};
|
||||
|
||||
using OriginGroupExtensionPython = ExtensionPythonT<GroupExtensionPythonT<OriginGroupExtension>>;
|
||||
|
||||
@@ -32,5 +32,6 @@
|
||||
<file>App_ro.qm</file>
|
||||
<file>App_gl.qm</file>
|
||||
<file>App_ko.qm</file>
|
||||
<file>App_id.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
|
||||
<translation>Без назвы</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Вось X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Вось Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Вось Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Плоскасць XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Плоскасць XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Плоскасць YZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Пачатак каардынат</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Sense nom</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished">X-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished">Y-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished">Z-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished">XY-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished">XZ-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished">YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origen</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@
|
||||
<location filename="../../Link.cpp" line="119"/>
|
||||
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</source>
|
||||
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</translation>
|
||||
<translation>Ukládá poslední uživatelskou volbu, zda použít nastavení „Kopírovat při změně“ na všechny odkazy
|
||||
které odkazují na stejný konfigurovatelný objekt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Nepojmenovaný</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Osa X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Osa Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Osa Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Rovina XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Rovina XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Rovina YZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Počátek</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ angewendet werden soll, die das gleiche konfigurierbare Objekt referenzieren</tr
|
||||
<translation>Unbenannt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>X-Achse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Y-Achse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Z-Achse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>XY-Ebene</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>XZ-Ebene</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ-Ebene</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Ursprung</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@
|
||||
<location filename="../../Link.cpp" line="119"/>
|
||||
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</source>
|
||||
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</translation>
|
||||
<translation>Αποθηκεύει την τελευταία επιλογή χρήστη για το αν θα εφαρμοστεί η ρύθμιση CopyOnChange σε όλους τους συνδέσμους
|
||||
που αναφέρονται στο ίδιο διαμορφώσιμο αντικείμενο</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Ανώνυμο</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Άξονας X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Άξονας Υ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Άξονας Ζ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Επίπεδο XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Επίπεδο XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Επίπεδο ΥZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Σημείο Τομής Αξόνων</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
|
||||
<translation>Sin nombre</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Eje X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Eje Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Eje Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Plano XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Plano XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Plano YZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origen de Coordenadas</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
|
||||
<translation>Sin nombre</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Eje X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Eje Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Eje Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Plano XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Plano XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Plano YZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origen de coordenadas</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,7 @@
|
||||
<location filename="../../Link.cpp" line="119"/>
|
||||
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</source>
|
||||
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</translation>
|
||||
<translation>CopyOnChange konfigurazioa objektu konfiguragarri berari erreferentzia egiten dieten esteka guztietan aplikatzeari dagokionez erabiltzaileak aukeratutako azken aukera biltegiratzen du</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -19,4 +18,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Izenik gabea</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>X ardatza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Y ardatza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Z ardatza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>XY planoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>XZ planoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ planoa</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Jatorria</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Nimetön</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished">X-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished">Y-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished">Z-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished">XY-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished">XZ-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished">YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origo</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</source>
|
||||
<translation>Sans nom</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Axe-X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Axe-Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Axe-Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Plan-XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Plan-XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Plan-YZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origine</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Sen nome</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished">X-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished">Y-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished">Z-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished">XY-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished">XZ-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished">YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Orixe</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Neimenovano</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished">X-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished">Y-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished">Z-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished">XY-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished">XZ-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished">YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Izvornik</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ amelyek ugyanarra a konfigurálható tárgyra hivatkoznak</translation>
|
||||
<translation>Névtelen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>X-tengely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Y tengely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Z tengely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>XY sík</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>XZ sík</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ síkban</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Kezdőpont</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="id" sourcelanguage="en">
|
||||
<context>
|
||||
<name>LinkParams</name>
|
||||
<message>
|
||||
<location filename="../../Link.cpp" line="119"/>
|
||||
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</source>
|
||||
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../../Application.cpp" line="441"/>
|
||||
<source>Unnamed</source>
|
||||
<translation>Tanpa nama</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@
|
||||
<location filename="../../Link.cpp" line="119"/>
|
||||
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</source>
|
||||
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</translation>
|
||||
<translation>Memorizza l'ultima scelta dell'utente se applicare l'impostazione CopyOnChange a tutti i link
|
||||
che fanno riferimento allo stesso oggetto configurabile</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Senza nome</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Asse-X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Asse-Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Asse-Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Piano-XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Piano-XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Piano-YZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origine</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Unnamed</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished">X-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished">Y-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished">Z-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished">XY-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished">XZ-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished">YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>原点</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
|
||||
<translation>უსახელო</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>X ღერძი</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Y ღერძი</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Z ღერძი</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>XY-სიბრტყე</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>XZ-სიბრტყე</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ-სიბრტყე</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>კოორდინატების საწყისი</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>이름없음</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished">X-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished">Y-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished">Z-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished">XY-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished">XZ-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished">YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>원점</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ die verwijzen naar hetzelfde configureerbare object</translation>
|
||||
<translation>Naamloos</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>X-as</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Y-as</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Z-as</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>XY-vlak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>XZ-vlak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ-vlak</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Oorsprong</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ które odnoszą się do tego samego obiektu konfigurowalnego</translation>
|
||||
<translation>Nienazwany</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Oś X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Oś Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Oś Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Płaszczyzna XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Płaszczyzna XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Płaszczyzna YZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Odniesienie położenia</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ que referenciam o mesmo objeto configurável</translation>
|
||||
<translation>Sem nome</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished">X-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished">Y-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished">Z-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished">XY-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished">XZ-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished">YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origem</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Sem nome</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation type="unfinished">X-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation type="unfinished">Y-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation type="unfinished">Z-axis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation type="unfinished">XY-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation type="unfinished">XZ-plane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation type="unfinished">YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origem</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@
|
||||
<location filename="../../Link.cpp" line="119"/>
|
||||
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</source>
|
||||
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
|
||||
that reference the same configurable object</translation>
|
||||
<translation>Stochează ultima alegere a utilizatorului de a aplica CopyOnChange setup la toate link-urile
|
||||
care fac referire la același obiect configurabil</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Nedenumit</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Axa X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Axa Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Axa Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Planul XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Plan XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ-plane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Origine</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
|
||||
<translation>Безымянный</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Ось X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Ось-Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Ось-Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>XY плоскость</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>XZ-плоскость</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ-плоскость</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Начало координат</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ za vse povezave, ki se sklicujejo na isti nastavljivi predmet</translation>
|
||||
<translation>Neimenovan</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>Os X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Os Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Os Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>Ravnina XY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>Ravnina XZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>Ravnina YZ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Izhodišče</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Bez imena</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>X-osa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Y-osa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Z-osa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>XY ravan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>XZ ravan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ ravan</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Koordinatni početak</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
|
||||
<translation>Без имена</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::Origin</name>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="140"/>
|
||||
<source>X-axis</source>
|
||||
<translation>X-оса</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="141"/>
|
||||
<source>Y-axis</source>
|
||||
<translation>Y-оса</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="142"/>
|
||||
<source>Z-axis</source>
|
||||
<translation>Z-оса</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="143"/>
|
||||
<source>XY-plane</source>
|
||||
<translation>XY раван</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="144"/>
|
||||
<source>XZ-plane</source>
|
||||
<translation>XZ раван</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../Origin.cpp" line="145"/>
|
||||
<source>YZ-plane</source>
|
||||
<translation>YZ раван</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>App::OriginGroupExtension</name>
|
||||
<message>
|
||||
<location filename="../../OriginGroupExtension.cpp" line="134"/>
|
||||
<source>Origin</source>
|
||||
<translation>Координатни почетак</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user