diff --git a/InitGui.py b/InitGui.py
index 53f3c68..376fdf8 100644
--- a/InitGui.py
+++ b/InitGui.py
@@ -32,12 +32,15 @@
import ksu_locator
from kicadStepUpCMD import *
+
ksuWBpath = os.path.dirname(ksu_locator.__file__)
#sys.path.append(ksuWB + '/Gui')
ksuWB_icons_path = os.path.join( ksuWBpath, 'Resources', 'icons')
ksuWB_ui_path = os.path.join( ksuWBpath, 'Resources','ui' )
+ksuWB_trans_path = os.path.join( ksuWBpath, 'translations')
-# FreeCADGui.addLanguagePath(ksuWBpath+"/translations")
+FreeCADGui.addLanguagePath(ksuWB_trans_path)
+FreeCADGui.updateLocale()
global main_ksu_Icon
main_ksu_Icon = os.path.join( ksuWB_icons_path , 'kicad-StepUp-tools-WB.svg')
@@ -150,14 +153,15 @@ def loadSettings(self):
print(FreeCAD.getUserAppDataDir())
##
class KiCadStepUpWB ( Workbench ):
+ from TranslateUtils import translate
global main_ksu_Icon, ksu_wb_version, myurlKWB, mycommitsKWB, verKSU
global ksuWB_ui_path, kSU_MainPrefPage, ksuWB_icons_path
"KiCadStepUp WB object"
Icon = main_ksu_Icon
#Icon = ":Resources/icons/kicad-StepUp-tools-WB.svg"
- MenuText = "KiCadStepUp"
- ToolTip = "KiCadStepUp workbench"
+ MenuText = translate("KiCadStepUpWB", "KiCadStepUp")
+ ToolTip = translate("KiCadStepUpWB", "KiCadStepUp workbench")
def GetClassName(self):
return "Gui::PythonWorkbench"
@@ -167,6 +171,7 @@ def Initialize(self):
global pref_page
pref_page = True # False #True #
import FreeCADGui
+ from TranslateUtils import translate
submenu = ['demo.kicad_pcb','d-pak.kicad_mod', 'demo-sketch.FCStd', 'demo.step',\
'footprint-template.FCStd', 'footprint-Edge-template.FCStd', 'footprint-template-roundrect-polylines.FCStd',\
@@ -178,14 +183,14 @@ def Initialize(self):
'ECAD-MCAD-collaboration.pdf']
dirs = self.ListDemos()
- #self.appendToolbar("ksu Tools", ["ksuTools"])
- self.appendToolbar("ksu Tools", ["ksuToolsEditPrefs","ksuTools","ksuToolsOpenBoard","ksuToolsImportFootprint",\
+ #self.appendToolbar(translate("Toolbar", "ksu Tools"), ["ksuTools"])
+ self.appendToolbar(translate("Toolbar", "ksu Tools"), ["ksuToolsEditPrefs","ksuTools","ksuToolsOpenBoard","ksuToolsImportFootprint",\
"ksuToolsExportModel","ksuToolsPushPCB","ksuToolsFootprintGen","Separator","ksuToolsAddTracks","ksuToolsAddSilks","Separator",\
"ksuToolsCollisions","ksuToolsImport3DStep","ksuToolsExport3DStep","ksuToolsMakeUnion",\
"ksuToolsMakeCompound", "ksuToolsUnion", "ksuToolsSimpleCopy", "ksuToolsDeepCopy", "ksuToolsColoredClone",\
"ksuToolsColoredBinder", "ksuToolsReLinkBinder", "ksuToolsCheckSolid"])
#, "ksuToolsPushMoved","ksuToolsSync3DModels"])
- self.appendToolbar("ksu Sketching", ["ksuTools3D2D", "ksuTools2D2Sketch", "ksuTools2DtoFace",\
+ self.appendToolbar(translate("Toolbar", "ksu Sketching"), ["ksuTools3D2D", "ksuTools2D2Sketch", "ksuTools2DtoFace",\
"ksuToolsLoopSelection","ksuToolsEdges2Sketch","ksuToolsMoveSketch","ksuToolsOffset2D","ksuToolsExtrude","Create_BoundBox","ksuToolsMergeSketches",\
"ksuToolsSimplifySketck", "ksuToolsBsplineNormalize", "ksuToolsConstrainator", "ksuToolsSkValidate", "ksuToolsDiscretize",\
"ksuToolsContour2Poly", "Arcs2Circles", "approximateCenter"])
@@ -194,29 +199,29 @@ def Initialize(self):
"Separator","ksuToolsGeneratePositions","ksuToolsComparePositions",\
"Separator","ksuToolsToggleTreeView","Separator","ksuRemoveTimeStamp","ksuRemoveSuffix","Separator","ksuToolsImportFootprint","ksuToolsFootprintGen"]
#ksuTB.extend(["Separator","ksuToolsAligner","ksuToolsMover","ksuToolsCaliper"])
- self.appendToolbar("ksu PushPull", ksuTB)
+ self.appendToolbar(translate("Toolbar", "ksu PushPull"), ksuTB)
combined_path = '\t'.join(sys.path)
if 'Manipulator' in combined_path:
ksuDTB=["ksuToolsAligner","ksuToolsMover","ksuToolsCaliper", "ksuToolsAlignView","Separator","ksuToolsDefeaturingTools"]
- self.appendToolbar("ksu Design Tools", ksuDTB)
+ self.appendToolbar(translate("Toolbar", "ksu Design Tools"), ksuDTB)
else:
ksuDTB=["ksuToolsAlignView"]
- self.appendToolbar("ksu Design Tools", ksuDTB)
+ self.appendToolbar(translate("Toolbar", "ksu Design Tools"), ksuDTB)
Hlp_TB = ["ksuToolsToggleTreeView", "Restore_Transparency", "ksuToolsTransparencyToggle", "ksuToolsHighlightToggle",\
"ksuToolsVisibilityToggle", "ksuToolsStepImportModeSTD", "ksuToolsStepImportModeComp",\
"ksuToolsCopyPlacement", "ksuToolsResetPlacement", "ksuToolsResetPartPlacement", "ksuToolsAddToTree",\
"ksuToolsRemoveFromTree", "ksuToolsRemoveSubTree", "checkSolidExpSTEP"]
#if 'LinkView' in dir(FreeCADGui):
# Hlp_TB.remove("ksuToolsHighlightToggle")
- self.appendToolbar("ksu Show", ["ksuToolsTurnTable", "ksuToolsExplode"])
- self.appendToolbar("ksu Helpers", Hlp_TB)
- #self.appendMenu("ksu Tools", ["ksuTools","ksuToolsEdit"])
- self.appendMenu("ksu Tools", ["ksuTools","ksuToolsEditPrefs","ksuImpDXF","ksuOpDXF","ksuOpEzDXF"])
- self.appendMenu("ksu PushPull", ["ksuToolsOpenBoard","ksuToolsPushPCB","ksuToolsPushMoved","ksuToolsSync3DModels","ksuToolsPullPCB","ksuToolsPullMoved",\
+ self.appendToolbar(translate("Toolbar", "ksu Show"), ["ksuToolsTurnTable", "ksuToolsExplode"])
+ self.appendToolbar(translate("Toolbar", "ksu Helpers"), Hlp_TB)
+ #self.appendMenu(translate("Menu", "ksu Tools"), ["ksuTools","ksuToolsEdit"])
+ self.appendMenu(translate("Menu", "ksu Tools"), ["ksuTools","ksuToolsEditPrefs","ksuImpDXF","ksuOpDXF","ksuOpEzDXF"])
+ self.appendMenu(translate("Menu", "ksu PushPull"), ["ksuToolsOpenBoard","ksuToolsPushPCB","ksuToolsPushMoved","ksuToolsSync3DModels","ksuToolsPullPCB","ksuToolsPullMoved",\
"Separator","ksuToolsGeneratePositions","ksuToolsComparePositions",\
"Separator","ksuRemoveTimeStamp","ksuRemoveSuffix",\
"Separator","ksuToolsImportFootprint","ksuToolsFootprintGen"])
- self.appendMenu(["ksu Tools", "Demo"], submenu)
+ self.appendMenu([translate("Menu", "ksu Tools"), translate("Menu", "Demo")], submenu)
#FreeCADGui.addPreferencePage( a2plib.pathOfModule() + '/GuiA2p/ui/a2p_prefs.ui','A2plus' )
if pref_page:
diff --git a/Resources/ui/ksu-docked-v3.2.ui b/Resources/ui/ksu-docked-v3.2.ui
index 1d0b804..19d1893 100644
--- a/Resources/ui/ksu-docked-v3.2.ui
+++ b/Resources/ui/ksu-docked-v3.2.ui
@@ -826,7 +826,7 @@ STEP & scaled VRML 1/2.54
- enalble loading
+ enable loading
virtual & mechanical
models
diff --git a/Resources/ui/ksu_prefs-v1.ui b/Resources/ui/ksu_prefs-v1.ui
index 3af0d30..a188040 100644
--- a/Resources/ui/ksu_prefs-v1.ui
+++ b/Resources/ui/ksu_prefs-v1.ui
@@ -133,7 +133,7 @@
- sdfsdfsdfds
+ Temporary directories
diff --git a/Resources/ui/ksu_prefs-v2b.ui b/Resources/ui/ksu_prefs-v2b.ui
index f11a5c4..92a5735 100644
--- a/Resources/ui/ksu_prefs-v2b.ui
+++ b/Resources/ui/ksu_prefs-v2b.ui
@@ -927,13 +927,13 @@ Allowing or not Loading Multi Parts objects
- Enable Materials for VRML exporting
+ Enable Materials for VRML exporting
- Enable Materials for VRML exporting
+ Enable Materials for VRML exportingtrue
@@ -1011,10 +1011,10 @@ Allowing or not Loading Multi Parts objects
- Enable compressed STEP file ('.stpZ') generation exporting
+ Enable compressed STEP file ('.stpZ') generation exporting
- Enable compressed STEP file ('.stpZ') generation exporting
+ Enable compressed STEP file ('.stpZ') generation exportingfalse
@@ -1042,10 +1042,10 @@ Allowing or not Loading Multi Parts objects
- Enable compressed VRML file ('.wrz') generation exporting
+ Enable compressed VRML file ('.wrz') generation exporting
- Enable compressed VRML file ('.wrz') generation exporting
+ Enable compressed VRML file ('.wrz') generation exportingfalse
@@ -1073,10 +1073,10 @@ Allowing or not Loading Multi Parts objects
- Display STEP import settings warning
+ Display STEP import settings warning
- Display STEP import settings warning
+ Display STEP import settings warningtrue
@@ -1104,10 +1104,10 @@ Allowing or not Loading Multi Parts objects
- <html><head/><body><p>Apply Transparency for 'Glass' Materials:</p><p>Force Transparency to STEP model if 'Glass' is found in '.wrl' model</p></body></html>
+ <html><head/><body><p>Apply Transparency for 'Glass' Materials:</p><p>Force Transparency to STEP model if 'Glass' is found in '.wrl' model</p></body></html>
- Apply Transparency for 'Glass' Materials
+ Apply Transparency for 'Glass' Materialsfalse
@@ -1135,10 +1135,10 @@ Allowing or not Loading Multi Parts objects
- <html><head/><body><p>Apply Transparency for 'Led' Materials:</p><p>Force Transparency to STEP model if 'Led' is found in '.wrl' model</p></body></html>
+ <html><head/><body><p>Apply Transparency for 'Led' Materials:</p><p>Force Transparency to STEP model if 'Led' is found in '.wrl' model</p></body></html>
- Apply Transparency for 'Led' Materials
+ Apply Transparency for 'Led' Materialsfalse
diff --git a/Resources/ui/ksu_prefs.ui b/Resources/ui/ksu_prefs.ui
index 47cfa77..b6548c5 100644
--- a/Resources/ui/ksu_prefs.ui
+++ b/Resources/ui/ksu_prefs.ui
@@ -54,7 +54,7 @@
00
- 517
+ 522900
@@ -88,7 +88,7 @@
1025501
- 34
+ 39
@@ -129,9 +129,6 @@ or 'KICAD6_3DMODEL_DIR'
Mod/kicadStepUpGui
-
- Gui::FileChooser::Directory
-
@@ -142,7 +139,7 @@ or 'KICAD6_3DMODEL_DIR'
1065501
- 34
+ 39
@@ -182,9 +179,6 @@ or 'KICAD6_3DMODEL_DIR'
Mod/kicadStepUpGui
-
-
- Gui::FileChooser::Directory
@@ -208,14 +202,14 @@ or 'KICAD6_3DMODEL_DIR'
1020491
- 26
+ 29
- PCB color
+ PCBs color.PCB color
@@ -317,7 +311,7 @@ or 'KICAD6_3DMODEL_DIR'
1050491
- 26
+ 29
@@ -386,7 +380,7 @@ or 'KICAD6_3DMODEL_DIR'
1080491
- 26
+ 29
@@ -812,14 +806,14 @@ LED_D5.0mm_IRBlack;USB_Mini-B_Lumberg_2486_01_Horizontal;<br/><span sty
980491
- 26
+ 29
- STEP export mode
+ STEP export mode.STEP export mode
@@ -881,14 +875,14 @@ LED_D5.0mm_IRBlack;USB_Mini-B_Lumberg_2486_01_Horizontal;<br/><span sty
8110491
- 26
+ 29
- 3D Loading mode
+ 3D Loading mode.3D Loading mode
@@ -960,7 +954,7 @@ Allowing or not Loading Multi Parts objects
- Assembly3 Links allowed
+ Assembly3 Links allowed.Assembly3 Links allowed
@@ -985,13 +979,13 @@ Allowing or not Loading Multi Parts objects
- Enable Materials for VRML exporting
+ Enables Materials for VRML exporting.
- Enable Materials for VRML exporting
+ Enable Materials for VRML exportingtrue
@@ -1016,7 +1010,7 @@ Allowing or not Loading Multi Parts objects
- Start Turntable after loading
+ Start Turntable after loading.Start Turntable after loading
@@ -1041,7 +1035,7 @@ Allowing or not Loading Multi Parts objects
- Assembly3 LinkGroups allowed
+ Assembly3 LinkGroups allowed.Assembly3 LinkGroups allowed
@@ -1069,10 +1063,10 @@ Allowing or not Loading Multi Parts objects
- Enable compressed STEP file ('.stpZ') generation exporting
+ Enables compressed STEP file ('.stpZ') generation exporting.
- Enable compressed STEP file ('.stpZ') generation exporting
+ Enable compressed STEP file ('.stpZ') generation exportingfalse
@@ -1100,10 +1094,10 @@ Allowing or not Loading Multi Parts objects
- Enable compressed VRML file ('.wrz') generation exporting
+ Enables compressed VRML file ('.wrz') generation exporting.
- Enable compressed VRML file ('.wrz') generation exporting
+ Enable compressed VRML file ('.wrz') generation exportingfalse
@@ -1131,10 +1125,10 @@ Allowing or not Loading Multi Parts objects
- Display STEP import settings warning
+ Displays STEP import settings warning.
- Display STEP import settings warning
+ Display STEP import settings warningtrue
@@ -1162,10 +1156,10 @@ Allowing or not Loading Multi Parts objects
- <html><head/><body><p>Apply Transparency for 'Glass' Materials:</p><p>Force Transparency to STEP model if 'Glass' is found in '.wrl' model</p></body></html>
+ <html><head/><body><p>Apply Transparency for 'Glass' Materials:</p><p>Force Transparency to STEP model if 'Glass' is found in '.wrl' model</p></body></html>
- Apply Transparency for 'Glass' Materials
+ Apply Transparency for 'Glass' Materialsfalse
@@ -1193,10 +1187,10 @@ Allowing or not Loading Multi Parts objects
- <html><head/><body><p>Apply Transparency for 'Led' Materials:</p><p>Force Transparency to STEP model if 'Led' is found in '.wrl' model</p></body></html>
+ <html><head/><body><p>Apply Transparency for 'Led' Materials:</p><p>Force Transparency to STEP model if 'Led' is found in '.wrl' model</p></body></html>
- Apply Transparency for 'Led' Materials
+ Apply Transparency for 'Led' Materialsfalse
@@ -1224,10 +1218,10 @@ Allowing or not Loading Multi Parts objects
- <html><head/><body><p>Skip importing pcb zone(s)</p></body></html>
+ <html><head/><body><p>Skip importing pcb zone(s)</p></body></html>
- skpZone
+ skpZonefalse
@@ -1255,10 +1249,10 @@ Allowing or not Loading Multi Parts objects
- <html><head/><body><p>Skip importing pcb tracks and vias</p></body></html>
+ <html><head/><body><p>Skip importing pcb tracks and vias</p></body></html>
- skpTracks
+ skpTracksfalse
@@ -1286,10 +1280,10 @@ Allowing or not Loading Multi Parts objects
- <html><head/><body><p>Skip importing pcb pads</p></body></html>
+ <html><head/><body><p>Skip importing pcb pads</p></body></html>
- skpPads
+ skpPadsfalse
@@ -1311,7 +1305,7 @@ Allowing or not Loading Multi Parts objects
10105501
- 34
+ 39
@@ -1352,10 +1346,7 @@ Allowing or not Loading Multi Parts objects
Mod/kicadStepUpGui
-
- Gui::FileChooser::Directory
-
-
+
@@ -1365,7 +1356,7 @@ Allowing or not Loading Multi Parts objects
10145501
- 34
+ 39
@@ -1405,9 +1396,6 @@ Allowing or not Loading Multi Parts objects
Mod/kicadStepUpGui
-
-
- Gui::FileChooser::Directory
@@ -1461,7 +1449,7 @@ Allowing or not Loading Multi Parts objects
- Generate Sketches for differences on PCB Edge
+ Generates Sketches for differences on PCB Edge.Generate Sketches for differences on PCB Edge
diff --git a/TranslateUtils.py b/TranslateUtils.py
new file mode 100644
index 0000000..cf803c2
--- /dev/null
+++ b/TranslateUtils.py
@@ -0,0 +1,39 @@
+# -*- coding: utf8 -*-
+
+# ***************************************************************************
+# * *
+# * Copyright (c) 2017 Yorik van Havre *
+# * *
+# * This program is free software; you can redistribute it and/or modify *
+# * it under the terms of the GNU Lesser General Public License (LGPL) *
+# * as published by the Free Software Foundation; either version 2 of *
+# * the License, or (at your option) any later version. *
+# * for detail see the LICENCE text file. *
+# * *
+# * This program is distributed in the hope that it will be useful, *
+# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+# * GNU Library General Public License for more details. *
+# * *
+# * You should have received a copy of the GNU Library General Public *
+# * License along with this program; if not, write to the Free Software *
+# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
+# * USA *
+# * *
+# ***************************************************************************
+
+"""Locate the translation utils"""
+
+import FreeCAD
+
+
+# dummy function for the QT translator
+def QT_TRANSLATE_NOOP(ctx, txt):
+ return txt
+
+
+# use latest available translate function
+if hasattr(FreeCAD, "Qt"):
+ translate = FreeCAD.Qt.translate
+else:
+ from DraftTools import translate
diff --git a/demo/kicad-StepUp-tools.FCMacro b/demo/kicad-StepUp-tools.FCMacro
index 2bbfecb..60f9ed8 100644
--- a/demo/kicad-StepUp-tools.FCMacro
+++ b/demo/kicad-StepUp-tools.FCMacro
@@ -14656,7 +14656,7 @@ class Ui_DockWidget(object):
"Board .kicad_pcb")
self.ScaleVRML.setToolTip("export to kicad:\n"
"STEP & scaled VRML 1/2.54")
- self.cb_virtual.setToolTip("enalble loading\n"
+ self.cb_virtual.setToolTip("enable loading\n"
"virtual & mechanical\n"
"models")
self.cb_materials.setToolTip("use wrl\n"
diff --git a/hlp.py b/hlp.py
index 2cf6a34..76fc91c 100644
--- a/hlp.py
+++ b/hlp.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-#****************************************************************************
+# ****************************************************************************
global ksuWBpath
@@ -7,60 +7,76 @@
ksuWBpath = os.path.dirname(ksu_locator.__file__)
-font_color=""""""
+font_color = ""
import FreeCAD, FreeCADGui
+
# paramGet = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/MainWindow")
# if 'dark' in paramGet.GetString("StyleSheet").lower(): #we are using a StyleSheet
-font_color=""""""
+font_color = ""
from PySide2 import QtGui
-font_color=""""""
-#FreeCADGui.getMainWindow().palette().background().color()
+from TranslateUtils import translate
+
+font_color = (
+ ""
+)
+# FreeCADGui.getMainWindow().palette().background().color()
-#help_txt="""kicad StepUp version """+verKSU+""" """
-help_txt=""""""
-help_txt+=font_color
-help_txt+="""Kicad StepUp is a tool set to easily collaborate between kicad pcb EDA (board and 3D parts) as STEP models and FreeCAD MCAD modeler. """
-help_txt+=""""""
-help_txt+=font_color
-help_txt+="StepUp can also be used to align 3D model to kicad footprint. "
-help_txt+="The artwork can be used for MCAD interchange and collaboration, and for enclosure design. "
-help_txt+="The 3D visualization of components on board assemblies in kicad 3dviewer, will be the same in your mechanical software, "
-help_txt+="because of the STEP interchange format. "
-help_txt+="It is also possible to Update a pcb Edge from a FC Sketcher. "
-pdf_name='kicadStepUp-starter-Guide.pdf'
-help_txt+="configuration options: Configuration options are located in the preferences system of FreeCAD, which is located in the Edit menu -> Preferences. "
-help_txt+="starter Guide: "+pdf_name+" "
-help_txt+="Note: each button has its own Tooltip "
-help_txt+="useful buttons: Load kicad Board directly -> will load kicad board and parts in FreeCAD coming from kicad '.kicad_pcb' file "
-help_txt+="Load kicad Footprint module -> will load directly kicad footprint in FreeCAD to easily align the 3D model to footprint "
-help_txt+="Export to kicad STEP & scaled VRML -> will convert MCAD model to STEP and VRML to be used by Kicad and kicad StepUp "
-help_txt+=" -> VRML can be multipart; -> STEP must be single part ('Part Boolean Union' or 'Part Makecompound') "
-help_txt+="assign material to selected colors and your VRML 3D models will have nice shiny effects "
-help_txt+="Push pcb Sketch to kicad_pcb Edge -> will push pcb Sketch to kicad_pcb Edge in your design; it can be done with an empty or with an existing pcb Edge "
-help_txt+=" for a more detailed help have a look at kicadStepUp-starter-Guide.pdf "
-help_txt+="or just follow the YouTube video tutorials kicadStepUp basics "
-help_txt+="kicadStepUp STEP alignment to Kicad footprint "
-help_txt+="check always the latest release of kicadStepUp
"
-help_txt+="Designing in kicad native 3d-viewer will produce a fully aligned STEP MCAD version "
-help_txt+="with the same view of kicad 3d render. "
-help_txt+="Moreover, KiCad StepUp tool set will let you to load the kicad footprint inside FreeCAD and align the 3D part with a visual real time feedback "
-help_txt+="of the 3d model and footprint reciprocal position. "
-help_txt+="With this tool is possible to download a part from on-line libraries, align the model to kicad footprint "
-help_txt+="and export the model to wrl, for immediate 3d-viewer alignment in pcbnew. "
-help_txt+="Now the two words are connected for a better collaboration; just design in kicad EDA and transfer "
-help_txt+="the artwork to MCAD (FreeCAD) smoothly. "
-help_txt+="The workflow is very simple and maintains the usual way to work with kicad: "
-help_txt+="Add models to your library creating 3D models in FreeCAD, or getting models from online libs "
-help_txt+="or from the parametric 3D lib expressly done to kicad kicadStepUp 3D STEP models generator "
-help_txt+="Once you have your 3D MCAD model, you need to have a copy of that in STEP and VRML format. "
-help_txt+="(with the latest kicad release you can only have STEP model, VRML is not needed anymore, but it is possible"
-help_txt+=" to mix VRML, STEP and IGES format) "
-help_txt+="Just exporting the model with FreeCAD and put your model in the same folder in which "
-help_txt+="normally you are used to put vrml models; the script will assembly the MCAD board and models as in 3d-viewer of kicad."
-help_txt+=" NB STEP model has to be fused in single object (Part Boolean Union of objects)"
-help_txt+=" or a Compoud (Part Makecompound of objects)"
-help_txt+="enable 'Report view' Panel to see helping messages"
-help_txt+=""
-help_txt+=" "
-
\ No newline at end of file
+# help_txt="""kicad StepUp version """+verKSU+""" """
+help_txt = ""
+help_txt += font_color
+help_txt += translate(
+ "Help",
+ "Kicad StepUp is a tool set to easily collaborate between kicad pcb EDA (board and 3D parts) as STEP models and FreeCAD MCAD modeler. \n"
+ "",
+)
+help_txt += font_color
+help_txt += translate(
+ "Help",
+ "StepUp can also be used to align 3D model to kicad footprint. \n"
+ "The artwork can be used for MCAD interchange and collaboration, and for enclosure design. \n"
+ "The 3D visualization of components on board assemblies in kicad 3dviewer, will be the same in your mechanical software, \n"
+ "because of the STEP interchange format. \n"
+ "It is also possible to Update a pcb Edge from a FC Sketcher. \n"
+ "configuration options: Configuration options are located in the preferences system of FreeCAD, which is located in the Edit menu -> Preferences. \n",
+)
+pdf_name = "kicadStepUp-starter-Guide.pdf"
+# help_txt+="starter Guide: "+pdf_name+" "
+help_txt += translate(
+ "Help", "starter Guide: {} "
+).format(ksuWBpath, os.sep, os.sep, pdf_name, pdf_name)
+help_txt += translate(
+ "Help",
+ "Note: each button has its own Tooltip \n"
+ "useful buttons: Load kicad Board directly -> will load kicad board and parts in FreeCAD coming from kicad '.kicad_pcb' file \n"
+ "Load kicad Footprint module -> will load directly kicad footprint in FreeCAD to easily align the 3D model to footprint \n"
+ "Export to kicad STEP & scaled VRML -> will convert MCAD model to STEP and VRML to be used by Kicad and kicad StepUp \n"
+ " -> VRML can be multipart; -> STEP must be single part ('Part Boolean Union' or 'Part Makecompound') \n"
+ "assign material to selected colors and your VRML 3D models will have nice shiny effects \n"
+ "Push pcb Sketch to kicad_pcb Edge -> will push pcb Sketch to kicad_pcb Edge in your design; it can be done with an empty or with an existing pcb Edge \n"
+ " for a more detailed help have a look at kicadStepUp-starter-Guide.pdf \n"
+ "or just follow the YouTube video tutorials kicadStepUp basics \n"
+ "kicadStepUp STEP alignment to Kicad footprint \n"
+ "check always the latest release of kicadStepUp
\n"
+ "Designing in kicad native 3d-viewer will produce a fully aligned STEP MCAD version \n"
+ "with the same view of kicad 3d render. \n"
+ "Moreover, KiCad StepUp tool set will let you to load the kicad footprint inside FreeCAD and align the 3D part with a visual real time feedback \n"
+ "of the 3d model and footprint reciprocal position. \n"
+ "With this tool is possible to download a part from on-line libraries, align the model to kicad footprint \n"
+ "and export the model to wrl, for immediate 3d-viewer alignment in pcbnew. \n"
+ "Now the two words are connected for a better collaboration; just design in kicad EDA and transfer \n"
+ "the artwork to MCAD (FreeCAD) smoothly. \n"
+ "The workflow is very simple and maintains the usual way to work with kicad: \n"
+ "Add models to your library creating 3D models in FreeCAD, or getting models from online libs \n"
+ "or from the parametric 3D lib expressly done to kicad kicadStepUp 3D STEP models generator \n"
+ "Once you have your 3D MCAD model, you need to have a copy of that in STEP and VRML format. \n"
+ "(with the latest kicad release you can only have STEP model, VRML is not needed anymore, but it is possible\n"
+ " to mix VRML, STEP and IGES format) \n"
+ "Just exporting the model with FreeCAD and put your model in the same folder in which \n"
+ "normally you are used to put vrml models; the script will assembly the MCAD board and models as in 3d-viewer of kicad.\n"
+ " NB STEP model has to be fused in single object (Part Boolean Union of objects)\n"
+ " or a Compoud (Part Makecompound of objects)\n"
+ "enable 'Report view' Panel to see helping messages\n"
+ "\n"
+ " ",
+)
diff --git a/kicadStepUpCMD.py b/kicadStepUpCMD.py
index 711a0e8..9b142f0 100644
--- a/kicadStepUpCMD.py
+++ b/kicadStepUpCMD.py
@@ -16,6 +16,9 @@
import Draft, DraftGeomUtils #, OpenSCAD2Dgeom
import PySide
from PySide import QtGui, QtCore
+from PySide.QtCore import QT_TRANSLATE_NOOP
+from TranslateUtils import translate
+
QtWidgets = QtGui
from pivy import coin
@@ -652,7 +655,7 @@ class Ui_Offset_value(object):
def setupUi(self, Offset_value):
Offset_value.setObjectName("Offset_value")
Offset_value.resize(292, 177)
- Offset_value.setWindowTitle("Offset value")
+ Offset_value.setWindowTitle(translate("Ui_Offset_value", "Offset value"))
Offset_value.setToolTip("")
self.buttonBoxLayer = QtWidgets.QDialogButtonBox(Offset_value)
self.buttonBoxLayer.setGeometry(QtCore.QRect(10, 130, 271, 32))
@@ -668,19 +671,19 @@ def setupUi(self, Offset_value):
self.offset_label = QtWidgets.QLabel(self.gridLayoutWidget)
self.offset_label.setMinimumSize(QtCore.QSize(0, 0))
self.offset_label.setToolTip("")
- self.offset_label.setText("Offset [+/- mm]:")
+ self.offset_label.setText(translate("Ui_Offset_value", "Offset [+/- mm]:"))
self.offset_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.offset_label.setObjectName("offset_label")
self.gridLayout.addWidget(self.offset_label, 0, 0, 1, 1)
self.lineEdit_offset = QtWidgets.QLineEdit(self.gridLayoutWidget)
- self.lineEdit_offset.setToolTip("Offset value [+/- mm]")
+ self.lineEdit_offset.setToolTip(translate("Ui_Offset_value", "Offset value [+/- mm]"))
self.lineEdit_offset.setText("0.16")
self.lineEdit_offset.setObjectName("lineEdit_offset")
self.gridLayout.addWidget(self.lineEdit_offset, 0, 1, 1, 1)
self.checkBox = QtWidgets.QCheckBox(self.gridLayoutWidget)
- self.checkBox.setToolTip("Arc or Intersection Offset method")
+ self.checkBox.setToolTip(translate("Ui_Offset_value", "Arc or Intersection Offset method"))
self.checkBox.setLayoutDirection(QtCore.Qt.RightToLeft)
- self.checkBox.setText("Arc")
+ self.checkBox.setText(translate("Ui_Offset_value", "Arc"))
self.checkBox.setChecked(True)
self.checkBox.setObjectName("checkBox")
self.gridLayout.addWidget(self.checkBox, 2, 0, 1, 1)
@@ -688,12 +691,12 @@ def setupUi(self, Offset_value):
self.offset_label_2 = QtWidgets.QLabel(self.gridLayoutWidget)
self.offset_label_2.setMinimumSize(QtCore.QSize(0, 0))
self.offset_label_2.setToolTip("")
- self.offset_label_2.setText("Offset Y [mm]:")
+ self.offset_label_2.setText(translate("Ui_Offset_value", "Offset Y [mm]:"))
self.offset_label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.offset_label_2.setObjectName("offset_label_2")
self.gridLayout.addWidget(self.offset_label_2, 1, 0, 1, 1)
self.lineEdit_offset_2 = QtWidgets.QLineEdit(self.gridLayoutWidget)
- self.lineEdit_offset_2.setToolTip("Offset Y value [+/- mm]")
+ self.lineEdit_offset_2.setToolTip(translate("Ui_Offset_value", "Offset Y value [+/- mm]"))
self.lineEdit_offset_2.setText("5.0")
self.lineEdit_offset_2.setObjectName("lineEdit_offset_2")
self.gridLayout.addWidget(self.lineEdit_offset_2, 1, 1, 1, 1)
@@ -732,19 +735,19 @@ def setupUi(self, CDialog):
self.buttonBox.setObjectName("buttonBox")
self.Label_howto = QtGui.QLabel(CDialog)
self.Label_howto.setGeometry(QtCore.QRect(20, 5, 265, 61))
- self.Label_howto.setToolTip("Select a Sketch and Parameters\n"
+ self.Label_howto.setToolTip(translate("Ui_CDialog", "Select a Sketch and Parameters\n"
"to constraint the sketch\n"
-"NB the Sketch will be modified!")
+"NB the Sketch will be modified!"))
self.Label_howto.setStatusTip("")
self.Label_howto.setWhatsThis("")
- self.Label_howto.setText("Select a Sketch and Parameters to constrain the sketch. NB the Sketch will be modified!")
+ self.Label_howto.setText(translate("Ui_CDialog", "Select a Sketch and Parameters to constrain the sketch. NB the Sketch will be modified!"))
self.Label_howto.setObjectName("Label_howto")
self.Constraints = QtGui.QGroupBox(CDialog)
self.Constraints.setGeometry(QtCore.QRect(10, 70, 145, 166))
self.Constraints.setToolTip("")
self.Constraints.setStatusTip("")
self.Constraints.setWhatsThis("")
- self.Constraints.setTitle("Constraints")
+ self.Constraints.setTitle(translate("Ui_CDialog", "Constraints"))
self.Constraints.setObjectName("Constraints")
self.verticalLayoutWidget = QtGui.QWidget(self.Constraints)
self.verticalLayoutWidget.setGeometry(QtCore.QRect(12, 20, 125, 137))
@@ -754,8 +757,8 @@ def setupUi(self, CDialog):
self.verticalLayout.setObjectName("verticalLayout")
self.all_constraints = QtGui.QRadioButton(self.verticalLayoutWidget)
self.all_constraints.setMinimumSize(QtCore.QSize(92, 64))
- self.all_constraints.setToolTip("Lock Coincident, Horizontal\n"
-"and Vertical")
+ self.all_constraints.setToolTip(translate("Ui_CDialog", "Lock Coincident, Horizontal\n"
+"and Vertical"))
self.all_constraints.setText("")
self.all_constraints.setIcon(icon)
self.all_constraints.setIconSize(QtCore.QSize(48, 48))
@@ -764,7 +767,7 @@ def setupUi(self, CDialog):
self.verticalLayout.addWidget(self.all_constraints)
self.coincident = QtGui.QRadioButton(self.verticalLayoutWidget)
self.coincident.setMinimumSize(QtCore.QSize(92, 64))
- self.coincident.setToolTip("Lock Coincident")
+ self.coincident.setToolTip(translate("Ui_CDialog", "Lock Coincident"))
self.coincident.setText("")
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap("Sketcher_LockCoincident.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
@@ -778,7 +781,7 @@ def setupUi(self, CDialog):
self.Tolerance.setToolTip("")
self.Tolerance.setStatusTip("")
self.Tolerance.setWhatsThis("")
- self.Tolerance.setTitle("Tolerance")
+ self.Tolerance.setTitle(translate("Ui_CDialog", "Tolerance"))
self.Tolerance.setObjectName("Tolerance")
self.verticalLayoutWidget_2 = QtGui.QWidget(self.Tolerance)
self.verticalLayoutWidget_2.setGeometry(QtCore.QRect(8, 20, 125, 57))
@@ -790,13 +793,13 @@ def setupUi(self, CDialog):
self.label.setToolTip("mm")
self.label.setStatusTip("")
self.label.setWhatsThis("")
- self.label.setText("tolerance in mm")
+ self.label.setText(translate("Ui_CDialog", "tolerance in mm"))
self.label.setObjectName("label")
self.verticalLayout_2.addWidget(self.label)
self.tolerance = QtGui.QLineEdit(self.verticalLayoutWidget_2)
self.tolerance.setMinimumSize(QtCore.QSize(64, 22))
self.tolerance.setMaximumSize(QtCore.QSize(64, 22))
- self.tolerance.setToolTip("Tolerance on Constraints")
+ self.tolerance.setToolTip(translate("Ui_CDialog", "Tolerance on Constraints"))
self.tolerance.setStatusTip("")
self.tolerance.setWhatsThis("")
self.tolerance.setInputMethodHints(QtCore.Qt.ImhPreferNumbers)
@@ -807,7 +810,7 @@ def setupUi(self, CDialog):
self.verticalLayout_2.addWidget(self.tolerance)
self.rmvXGeo = QtGui.QCheckBox(CDialog)
self.rmvXGeo.setGeometry(QtCore.QRect(170, 180, 141, 20))
- self.rmvXGeo.setToolTip("remove duplicated geometries")
+ self.rmvXGeo.setToolTip(translate("Ui_CDialog", "remove duplicated geometries"))
self.rmvXGeo.setStatusTip("")
self.rmvXGeo.setText("rmv xtr geo")
self.rmvXGeo.setObjectName("rmvXGeo")
@@ -861,8 +864,8 @@ class ksuTools:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'kicad-StepUp-icon.svg') , # the name of a svg file available in the resources
- 'MenuText': "ksu Tools" ,
- 'ToolTip' : "Activate the main\nkicad StepUp Tools Dialog"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuTools","ksu Tools") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuTools","Activate the main\nKiCad StepUp Tools Dialog")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -890,7 +893,7 @@ class ksuToolsContour2Poly:
"ksu tools Shapes Selection to PolyLine Sketch"
def GetResources(self):
- mybtn_tooltip ="ksu tools \'RF PolyLined Sketch\'\nSelection\'s Shapes to PolyLine Sketch"
+ mybtn_tooltip = QT_TRANSLATE_NOOP("ksuToolsContour2Poly","ksu tools \'RF PolyLined Sketch\'\nSelection\'s Shapes to PolyLine Sketch")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sketcher_CreatePolyline-RF.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -993,8 +996,10 @@ def __init__(self, xs, ys, xe, ye):
doc.commitTransaction()
- msg="""PolyLine Contour generated
"""
- msg+="For PolyLine Pads, please add \'circles\' inside each closed polyline "
+ msg=translate(
+ "ksu",
+ "PolyLine Contour generated\n\n"
+ "For PolyLine Pads, please add \'circles\' inside each closed polyline ")
info_msg(msg)
#stop
#FreeCAD.ActiveDocument.recompute()
@@ -1007,8 +1012,8 @@ class ksuToolsMoveSketch:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sketcher_Move.svg') , # the name of a svg file available in the resources
- 'MenuText': "Move Sketch" ,
- 'ToolTip' : "ksu Move 2D Sketch"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsMoveSketch","Move Sketch") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsMoveSketch","ksu Move 2D Sketch")}
def IsActive(self):
sel = FreeCADGui.Selection.getSelection()
@@ -1027,7 +1032,7 @@ def Activated(self):
offsetDlg = QtGui.QDialog()
ui = Ui_Offset_value()
ui.setupUi(offsetDlg)
- ui.offset_label.setText("Select a Sketch and Parameters to move the sketch. Offset X:")
+ ui.offset_label.setText(translate("ksu","Select a Sketch and Parameters to move the sketch. Offset X:"))
ui.lineEdit_offset.setText("10.0")
ui.offset_label_2.setText("Offset Y [mm]:")
ui.lineEdit_offset_2.setToolTip("Offset Y value [+/- mm]")
@@ -1079,8 +1084,8 @@ class ksuToolsOffset2D:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Offset2D.svg') , # the name of a svg file available in the resources
- 'MenuText': "Offset 2D" ,
- 'ToolTip' : "ksu Offset 2D object"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsOffset2D","Offset 2D") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsOffset2D","ksu Offset 2D object")}
def IsActive(self):
sel = FreeCADGui.Selection.getSelection()
@@ -1128,7 +1133,7 @@ class ksuToolsExtrude:
"ksu tools Extrude Selection"
def GetResources(self):
- mybtn_tooltip ="ksu tools \'Extrude\'\nExtrude selection"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsExtrude","ksu tools \'Extrude\'\nExtrude selection")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Part_Extrude.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -1155,7 +1160,7 @@ class ksuToolsSkValidate:
"ksu tools Sketcher Validate Selection"
def GetResources(self):
- mybtn_tooltip ="ksu tools \'Sketcher Validate\'\nValidate selected Sketch"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsSkValidate","ksu tools \'Sketcher Validate\'\nValidate selected Sketch")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sketcher_Validate.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -1183,8 +1188,8 @@ class ksuToolsOpenBoard:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'importBoard.svg') , # the name of a svg file available in the resources
- 'MenuText': "Load Board" ,
- 'ToolTip' : "ksu Load KiCad PCB Board and Parts"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsOpenBoard","Load Board") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsOpenBoard","ksu Load KiCad PCB Board and Parts")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1219,8 +1224,8 @@ class ksuToolsLoadFootprint:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'importFP.svg') , # the name of a svg file available in the resources
- 'MenuText': "Load FootPrint" ,
- 'ToolTip' : "ksu Load KiCad PCB FootPrint"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsLoadFootprint","Load FootPrint") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsLoadFootprint","ksu Load KiCad PCB FootPrint")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1251,8 +1256,8 @@ class ksuToolsExportModel:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'export3DModel.svg') , # the name of a svg file available in the resources
- 'MenuText': "Export 3D Model" ,
- 'ToolTip' : "ksu Export 3D Model to KiCad"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsExportModel","Export 3D Model") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsExportModel","ksu Export 3D Model to KiCad")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1275,10 +1280,10 @@ def Activated(self):
##or made something as in load board
#ini_content=kicadStepUptools.cfg_read_all()
if FreeCAD.ActiveDocument.FileName == "":
- msg="""please save your job file before exporting."""
+ msg = translate("Save", "Please save your job file before exporting.")
QtGui.QApplication.restoreOverrideCursor()
- QtGui.QMessageBox.information(None,"Info ...",msg)
- FreeCADGui.SendMsgToActiveView("Save")
+ QtGui.QMessageBox.information(None,translate("Save", "Info ..."),msg)
+ FreeCADGui.SendMsgToActiveView(translate("Save", "Save"))
from kicadStepUptools import routineScaleVRML
if reload_Gui:
@@ -1300,8 +1305,8 @@ class ksuToolsImport3DStep:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'add_block_y.svg') , # the name of a svg file available in the resources
- 'MenuText': "Import 3D Step" ,
- 'ToolTip' : "ksu Import 3D Step Model"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsImport3DStep","Import 3D STEP") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsImport3DStep","ksu Import 3D STEP Model")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1330,8 +1335,8 @@ class ksuToolsExport3DStep:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'export3DStep.svg') , # the name of a svg file available in the resources
- 'MenuText': "Export 3D to Step" ,
- 'ToolTip' : "ksu Export selected objects to Step Model"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsExport3DStep","Export 3D to STEP") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsExport3DStep","ksu Export selected objects to STEP Model")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1360,8 +1365,8 @@ class ksuToolsMakeUnion:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'fusion.svg') , # the name of a svg file available in the resources
- 'MenuText': "Make Union" ,
- 'ToolTip' : "ksu Make a Union of selected objects"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsMakeUnion","Make Union") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsMakeUnion","ksu Make a Union of selected objects")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1390,8 +1395,8 @@ class ksuToolsMakeCompound:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'compound.svg') , # the name of a svg file available in the resources
- 'MenuText': "Make Compound" ,
- 'ToolTip' : "ksu Make a Compound of selected objects"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsMakeCompound","Make Compound") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsMakeCompound","ksu Make a Compound of selected objects")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1420,8 +1425,8 @@ class ksuToolsPushPCB:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sketcher_Rectangle.svg') , # the name of a svg file available in the resources
- 'MenuText': "Push Sketch to PCB" ,
- 'ToolTip' : "ksu Push Sketch to PCB Edge"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsPushPCB","Push Sketch to PCB") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsPushPCB","ksu Push Sketch to PCB Edge")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1512,8 +1517,8 @@ class ksuToolsPullPCB:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sketcher_Pull.svg') , # the name of a svg file available in the resources
- 'MenuText': "Pull Sketch from PCB" ,
- 'ToolTip' : "ksu Pull Sketch from PCB Edge"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsPullPCB","Pull Sketch from PCB") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsPullPCB","ksu Pull Sketch from PCB Edge")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1549,8 +1554,8 @@ class ksuToolsPushMoved:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'PushMoved.svg') , # the name of a svg file available in the resources
- 'MenuText': "Push 3D moved model(s) to PCB" ,
- 'ToolTip' : "ksu Push 3D moved model(s) to PCB"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsPushMoved","Push 3D moved model(s) to PCB") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsPushMoved","ksu Push 3D moved model(s) to PCB")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1583,8 +1588,8 @@ class ksuToolsPullMoved:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'PullMoved.svg') , # the name of a svg file available in the resources
- 'MenuText': "Pull 3D model(s) placement from PCB" ,
- 'ToolTip' : "ksu Pull 3D model(s) placement from PCB"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsPullMoved","Pull 3D model(s) placement from PCB") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsPullMoved","ksu Pull 3D model(s) placement from PCB")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1617,8 +1622,8 @@ class ksuAsm2Part:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Assembly_To_Part.svg') , # the name of a svg file available in the resources
- 'MenuText': "Convert an Assembly (A3) to Part hierarchy" ,
- 'ToolTip' : "ksu Convert an Assembly (A3) to Part hierarchy"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuAsm2Part","Convert an Assembly (A3) to Part hierarchy") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuAsm2Part","ksu Convert an Assembly (A3) to Part hierarchy")}
def IsActive(self):
import FreeCADGui
@@ -1753,8 +1758,8 @@ class ksuToolsSync3DModels:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sync3Dmodels.svg') , # the name of a svg file available in the resources
- 'MenuText': "Sync 3D model(s) Ref & TimeStamps with PCB" ,
- 'ToolTip' : "ksu Sync 3D model(s) Ref & TimeStamps\nof the Selected 3D model with kicad PCB"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsSync3DModels","Sync 3D model(s) Ref & TimeStamps with PCB") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsSync3DModels","ksu Sync 3D model(s) Ref & TimeStamps\nof the Selected 3D model with KiCad PCB")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -1788,8 +1793,8 @@ class ksuToolsGeneratePositions:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'File_Positions.svg') , # the name of a svg file available in the resources
- 'MenuText': "tools Generate 3D models Positions" ,
- 'ToolTip' : "ksu Generate 3D models Positions\nData for Active Document\n[MCAD Synchronize]"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsGeneratePositions","tools Generate 3D models Positions") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsGeneratePositions","ksu Generate 3D models Positions\nData for Active Document\n[MCAD Synchronize]")}
def IsActive(self):
if FreeCAD.ActiveDocument is None:
@@ -1815,8 +1820,8 @@ class ksuToolsComparePositions:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Compare_Positions.svg') , # the name of a svg file available in the resources
- 'MenuText': "tools Compare 3D models Positions" ,
- 'ToolTip' : "ksu Compare 3D models Positions\nData with the Active Document\n[MCAD Synchronize]"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsComparePositions","tools Compare 3D models Positions") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsComparePositions","ksu Compare 3D models Positions\nData with the Active Document\n[MCAD Synchronize]")}
def IsActive(self):
if FreeCAD.ActiveDocument is None:
@@ -1863,8 +1868,8 @@ class ksuToolsCollisions:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'collisions.svg') , # the name of a svg file available in the resources
- 'MenuText': "Check Collisions" ,
- 'ToolTip' : "ksu Check Collisions and Interferences"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsCollisions","Check Collisions") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsCollisions","ksu Check Collisions and Interferences")}
def IsActive(self):
return True
@@ -1889,8 +1894,8 @@ class ksuTools3D2D:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , '3Dto2D.svg') , # the name of a svg file available in the resources
- 'MenuText': "3D to 2D" ,
- 'ToolTip' : "ksu 3D object to 2D projection"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuTools3D2D","3D to 2D") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuTools3D2D","ksu 3D object to 2D projection")}
def IsActive(self):
return True
@@ -1937,8 +1942,8 @@ class ksuToolsTurnTable:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'texture_turntable.svg') , # the name of a svg file available in the resources
- 'MenuText': "TurnTable" ,
- 'ToolTip' : "ksu TurnTable"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsTurnTable","TurnTable"),
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsTurnTable","ksu TurnTable")}
def IsActive(self):
if FreeCAD.ActiveDocument is None:
@@ -1999,8 +2004,8 @@ class ksuToolsConstrainator:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sketcher_LockAll.svg') , # the name of a svg file available in the resources
- 'MenuText': "Constrain a Sketch" ,
- 'ToolTip' : "ksu Fix & auto Constrain a Sketch"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsConstrainator","Constrain a Sketch") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsConstrainator","ksu Fix & auto Constrain a Sketch")}
def IsActive(self):
return True
@@ -2068,8 +2073,8 @@ class ksuToolsDiscretize:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Discretize.svg') , # the name of a svg file available in the resources
- 'MenuText': "Discretize" ,
- 'ToolTip' : "ksu Discretize a shape/outline to a Sketch"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsDiscretize","Discretize") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsDiscretize","ksu Discretize a shape/outline to a Sketch")}
def IsActive(self):
return True
@@ -2109,8 +2114,8 @@ class ksuToolsEdges2Sketch:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Edges2Sketch.svg') , # the name of a svg file available in the resources
- 'MenuText': "Edges to Sketch" ,
- 'ToolTip' : "ksu Select coplanar edge(s) or Face(s) or \na single Vertex of a coplanar outline \nto get a corresponding Sketch"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsEdges2Sketch","Edges to Sketch") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsEdges2Sketch","ksu Select coplanar edge(s) or Face(s) or \na single Vertex of a coplanar outline \nto get a corresponding Sketch")}
def IsActive(self):
sel = FreeCADGui.Selection.getSelection()
@@ -2141,8 +2146,8 @@ class ksuToolsResetPartPlacement:
#####################################
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'resetPartPlacement.svg') , # the name of a svg file available in the resources
- 'MenuText': "Reset Part Placement" ,
- 'ToolTip' : "ksu Reset Placement for all Part containers in selection"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsResetPartPlacement","Reset Part Placement") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsResetPartPlacement","ksu Reset Placement for all Part containers in selection")}
def getLinkGlobalPlacement(self,ob):
# print(ob.Name,'Link object')
# FreeCAD.Console.PrintMessage(ob.Parents)
@@ -2275,8 +2280,8 @@ class ksuToolsResetPlacement:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'resetPlacement.svg') , # the name of a svg file available in the resources
- 'MenuText': "Reset Placement" ,
- 'ToolTip' : "ksu Reset Placement for a Shape"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsResetPlacement","Reset Placement") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsResetPlacement","ksu Reset Placement for a Shape")}
def IsActive(self):
doc = FreeCAD.activeDocument()
@@ -2312,8 +2317,8 @@ class ksuTools2D2Sketch:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , '2DtoSketch.svg') , # the name of a svg file available in the resources
- 'MenuText': "2D to Sketch" ,
- 'ToolTip' : "ksu 2D object (or DXF) to Sketch"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuTools2D2Sketch","2D to Sketch") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuTools2D2Sketch","ksu 2D object (or DXF) to Sketch")}
def IsActive(self):
return True
@@ -2503,8 +2508,8 @@ class ksuTools2DtoFace:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , '2DtoFace.svg') , # the name of a svg file available in the resources
- 'MenuText': "2D to Face" ,
- 'ToolTip' : "ksu 2D object (or DXF) to Surface for extruding"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuTools2DtoFace","2D to Face") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuTools2DtoFace","ksu 2D object (or DXF) to Surface for extruding")}
def IsActive(self):
return True
@@ -2548,8 +2553,8 @@ class ksuToolsSimplifySketck:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'SimplifySketch.svg') , # the name of a svg file available in the resources
- 'MenuText': "Simplify Sketch" ,
- 'ToolTip' : "ksu Simplifying Sketch to Arcs and Lines"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsSimplifySketck","Simplify Sketch") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsSimplifySketck","ksu Simplifying Sketch to Arcs and Lines")}
def IsActive(self):
return True
@@ -2575,8 +2580,8 @@ class ksuToolsBsplineNormalize:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sketcher_BSplineNormalize.svg') , # the name of a svg file available in the resources
- 'MenuText': "Geo to Bspline" ,
- 'ToolTip' : "ksu Convert Geometry to Bspline for KiCAD format"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsBsplineNormalize","Geo to Bspline") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsBsplineNormalize","ksu Convert Geometry to Bspline for KiCAD format")}
def IsActive(self):
return True
@@ -2602,8 +2607,8 @@ class ksuToolsFootprintGen:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'exportFootprint.svg') , # the name of a svg file available in the resources
- 'MenuText': "Footprint generator" ,
- 'ToolTip' : "ksu Footprint editor and exporter"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsFootprintGen","Footprint generator") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsFootprintGen","ksu Footprint editor and exporter")}
def IsActive(self):
return True
@@ -2632,8 +2637,8 @@ class ksuToolsStepImportModeSTD:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'ImportModeSTD.svg') , # the name of a svg file available in the resources
- 'MenuText': "disable Full STEP Import Mode" ,
- 'ToolTip' : "ksu tools disable Full STEP Import Mode"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsStepImportModeSTD","disable Full STEP Import Mode") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsStepImportModeSTD","ksu tools disable Full STEP Import Mode")}
def IsActive(self):
paramGetVS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Import/hSTEP")
@@ -2667,8 +2672,8 @@ class ksuToolsStepImportModeComp:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'ImportModeSimplified.svg') , # the name of a svg file available in the resources
- 'MenuText': "disable Simplified STEP Import Mode" ,
- 'ToolTip' : "ksu tools disable Simplified STEP Import Mode"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsStepImportModeComp","disable Simplified STEP Import Mode") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsStepImportModeComp","ksu tools disable Simplified STEP Import Mode")}
def IsActive(self):
paramGetVS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Import/hSTEP")
@@ -2702,8 +2707,8 @@ class ksuToolsCopyPlacement:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Placement_Copy.svg') , # the name of a svg file available in the resources
- 'MenuText': "Copy Placement 1st to 2nd" ,
- 'ToolTip' : "ksu tools Copy Placement 1st to 2nd"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsCopyPlacement","Copy Placement 1st to 2nd") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsCopyPlacement","ksu tools Copy Placement 1st to 2nd")}
def IsActive(self):
return True
@@ -2743,8 +2748,8 @@ class ksuToolsColoredClone:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'CloneYlw.svg') , # the name of a svg file available in the resources
- 'MenuText': "Colored Clone" ,
- 'ToolTip' : "Colored Clone object"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsColoredClone","Colored Clone") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsColoredClone","Colored Clone object")}
def IsActive(self):
return True
@@ -2812,8 +2817,8 @@ class ksuToolsColoredBinder:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'SubShapeBinderYlw.svg') , # the name of a svg file available in the resources
- 'MenuText': "Colored Binder" ,
- 'ToolTip' : "Colored Binder object"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsColoredBinder","Colored Binder") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsColoredBinder","Colored Binder object")}
def IsActive(self):
return True
@@ -2891,8 +2896,8 @@ class ksuToolsReLinkBinder:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'SubShapeBinderRelink.svg') , # the name of a svg file available in the resources
- 'MenuText': "Relink Binder" ,
- 'ToolTip' : "Relink Binder object Select Binder and an Object to be linked"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsReLinkBinder","Relink Binder") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsReLinkBinder","Relink Binder object Select Binder and an Object to be linked")}
def IsActive(self):
return True
@@ -2946,8 +2951,8 @@ class ksuToolsUnion:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Part-Fuse.svg') , # the name of a svg file available in the resources
- 'MenuText': "Fuse objects" ,
- 'ToolTip' : "Make Union (Fuse) objects"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsUnion","Fuse objects") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsUnion","Make Union (Fuse) objects")}
def IsActive(self):
return True
@@ -2992,8 +2997,8 @@ class ksuToolsSimpleCopy:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'simple_copy.svg') , # the name of a svg file available in the resources
- 'MenuText': "Simple Copy" ,
- 'ToolTip' : "ksu Simple Copy object"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsSimpleCopy","Simple Copy") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsSimpleCopy","ksu Simple Copy object")}
def IsActive(self):
return True
@@ -3090,8 +3095,8 @@ class ksuToolsDeepCopy:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'deep_copy.svg') , # the name of a svg file available in the resources
- 'MenuText': "PartDN Copy" ,
- 'ToolTip' : "ksu PartDN Copy object\nwith relative placement\n[flattened model]"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsDeepCopy","PartDN Copy") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsDeepCopy","ksu PartDN Copy object\nwith relative placement\n[flattened model]")}
def IsActive(self):
if int(float(FreeCAD.Version()[0]))==0 and int(float(FreeCAD.Version()[1]))<=16: #active only for FC>0.16
@@ -3350,8 +3355,8 @@ class ksuToolsRemoveFromTree:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'TreeItemOutMinus.svg') , # the name of a svg file available in the resources
- 'MenuText': "Remove from Tree" ,
- 'ToolTip' : "ksu Remove Object(s) from Container Tree\nkeeping Placement\nFirst Selection is the Container"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsRemoveFromTree","Remove from Tree") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsRemoveFromTree","ksu Remove Object(s) from Container Tree\nkeeping Placement\nFirst Selection is the Container")}
def IsActive(self):
return True
@@ -3412,8 +3417,8 @@ class ksuToolsAddToTree:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'TreeItemInPlus.svg') , # the name of a svg file available in the resources
- 'MenuText': "Add to Tree" ,
- 'ToolTip' : "ksu Add Object(s) to Container Tree\nkeeping Placement\nFirst Selection is the Container"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsAddToTree","Add to Tree") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsAddToTree","ksu Add Object(s) to Container Tree\nkeeping Placement\nFirst Selection is the Container")}
def IsActive(self):
return True
@@ -3494,8 +3499,8 @@ class ksuToolsTransparencyToggle:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'transparency_toggle.svg') , # the name of a svg file available in the resources
- 'MenuText': "Transparency Toggle" ,
- 'ToolTip' : "ksu Selection Transparency Toggle"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsTransparencyToggle","Transparency Toggle") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsTransparencyToggle","ksu Selection Transparency Toggle")}
def IsActive(self):
return True
@@ -3529,8 +3534,8 @@ class ksuToolsHighlightToggle:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'select_toggle.svg') , # the name of a svg file available in the resources
- 'MenuText': "Highlight Toggle" ,
- 'ToolTip' : "ksu Selection Highlight Toggle"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsHighlightToggle","Highlight Toggle") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsHighlightToggle","ksu Selection Highlight Toggle")}
def IsActive(self):
return True
@@ -3557,8 +3562,8 @@ class ksuToolsVisibilityToggle:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'visibility_toggle.svg') , # the name of a svg file available in the resources
- 'MenuText': "Visibility Toggle" ,
- 'ToolTip' : "ksu Selection Visibility Toggle"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsVisibilityToggle","Visibility Toggle") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsVisibilityToggle","ksu Selection Visibility Toggle")}
def IsActive(self):
return True
@@ -3581,8 +3586,8 @@ class ksuToolsCheckSolid:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'ShapeInfo_check.svg') , # the name of a svg file available in the resources
- 'MenuText': "Check Solid property" ,
- 'ToolTip' : "ksu Check Solid property\nToggle suffix"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsCheckSolid","Check Solid property") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsCheckSolid","ksu Check Solid property\nToggle suffix")}
def IsActive(self):
return True
@@ -3686,8 +3691,8 @@ class ksuToolsToggleTreeView:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'expand_all.svg') , # the name of a svg file available in the resources
- 'MenuText': "Expand/Collapse Tree View" ,
- 'ToolTip' : "ksu tools Expand/Collapse Tree View"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsToggleTreeView","Expand/Collapse Tree View") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsToggleTreeView","ksu tools Expand/Collapse Tree View")}
def IsActive(self):
return True
@@ -3717,7 +3722,7 @@ class ksuToolsAligner:
"ksu tools Aligner"
def GetResources(self):
- mybtn_tooltip ="Manipulator tools \'Aligner\'"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsAligner","Manipulator tools \'Aligner\'")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Align.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -3745,7 +3750,7 @@ class ksuToolsMover:
"ksu tools Mover"
def GetResources(self):
- mybtn_tooltip ="Manipulator tools \'Mover\'"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsMover","Manipulator tools \'Mover\'")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Mover.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -3772,7 +3777,7 @@ class ksuToolsCaliper:
"ksu tools Caliper"
def GetResources(self):
- mybtn_tooltip ="Manipulator tools \'Caliper\'"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsCaliper","Manipulator tools \'Caliper\'")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Caliper.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -3799,7 +3804,7 @@ class ksuToolsLoopSelection:
"ksu tools Loop Selection"
def GetResources(self):
- mybtn_tooltip ="ksu tools \'LoopSelection\'\nLoop selection on a xy outline"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsLoopSelection","ksu tools \'LoopSelection\'\nLoop selection on a xy outline")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Path-SelectLoop.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -3831,7 +3836,7 @@ class ksuToolsMergeSketches:
"ksu tools Merge Sketches"
def GetResources(self):
- mybtn_tooltip ="Merge Sketches"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsMergeSketches","Merge Sketches")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Sketcher_MergeSketch.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -3858,7 +3863,7 @@ class ksuToolsEditPrefs:
"ksu tools Edit Preferences"
def GetResources(self):
- mybtn_tooltip ="Edit Preferences"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsEditPrefs","Edit Preferences")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Preferences-Edit.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -3886,7 +3891,7 @@ class ksuOpDXF:
"ksu tools open Legacy DXF"
def GetResources(self):
- mybtn_tooltip ="open Legacy DXF"
+ mybtn_tooltip = QT_TRANSLATE_NOOP("ksuOpDXF", "open Legacy DXF")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'openDXF.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip+' v1.4.0'}
@@ -3932,7 +3937,7 @@ class ksuOpEzDXF:
"ksu tools open ezDXF"
def GetResources(self):
- mybtn_tooltip ="open ezDXF"
+ mybtn_tooltip = QT_TRANSLATE_NOOP("ksuOpEzDXF", "open ezDXF")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'openEzDXF.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip }
@@ -3980,7 +3985,7 @@ class ksuImpDXF:
"ksu tools import Legacy DXF"
def GetResources(self):
- mybtn_tooltip ="import Legacy DXF"
+ mybtn_tooltip = QT_TRANSLATE_NOOP("ksuImpDXF", "Import Legacy DXF")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'importDXF.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip+' v1.4.0'}
@@ -4055,7 +4060,7 @@ class ksuRemoveTimeStamp:
"ksu Remove TimeStamp"
def GetResources(self):
- mybtn_tooltip ="Remove TimeStamp from Labels"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuRemoveTimeStamp","Remove TimeStamp from Labels")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'remove_TimeStamp.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4132,7 +4137,7 @@ class ksuRemoveSuffix:
"ksu Remove Suffix"
def GetResources(self):
- mybtn_tooltip ="Remove \'custom\' Suffix from Labels"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuRemoveSuffix","Remove \'custom\' Suffix from Labels")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'RemoveSuffix.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4246,7 +4251,7 @@ class ksuToolsExplode:
"ksu tools Explode"
def GetResources(self):
- mybtn_tooltip ="ksu Tools PCB Explode\nSelect the top container of a kicad PCB to exlode it"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsExplode","ksu Tools PCB Explode\nSelect the top container of a KiCad PCB to exlode it")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Explode_Pcb.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4269,7 +4274,7 @@ class ksuToolsDefeaturingTools:
"ksu tools DefeaturingTools"
def GetResources(self):
- mybtn_tooltip ="Defeaturing Tools from Defeaturing WorkBench"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsDefeaturingTools","Defeaturing Tools from Defeaturing WorkBench")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'DefeaturingTools.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4296,7 +4301,7 @@ class ksuToolsRemoveSubTree:
"ksu tools Remove Sub Tree"
def GetResources(self):
- mybtn_tooltip ="Remove Sub Tree"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsRemoveSubTree","Remove Sub Tree")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'RemoveSubtree.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4323,7 +4328,7 @@ class ksuToolsAddTracks:
"ksu tools Add Tracks"
def GetResources(self):
- mybtn_tooltip ="ksu tools Add Tracks\nNB: it could be a very intensive loading!"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsAddTracks","ksu tools Add Tracks\nNB: it could be a very intensive loading!")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'tracks.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4380,7 +4385,7 @@ class ksuToolsAddSilks:
"ksu tools Add Silks"
def GetResources(self):
- mybtn_tooltip ="ksu tools Add Silks from kicad exported DXF\nNB: it could be a very intensive loading!"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("ksuToolsAddSilks","ksu tools Add Silks from KiCad exported DXF\nNB: it could be a very intensive loading!")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Silks.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4556,7 +4561,7 @@ class checkSolidExpSTEP():
"ksu tools check Export Step"
def GetResources(self):
- mybtn_tooltip ="Check if the selected part would be\nexported to STEP as a single solid"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("checkSolidExpSTEP","Check if the selected part would be\nexported to STEP as a single solid")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Import-Export-STEP.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4632,7 +4637,7 @@ class Restore_Transparency():
"ksu tools Restore Transparency to Active Document Objects"
def GetResources(self):
- mybtn_tooltip ="Restore Transparency to Active Document Objects"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("Restore_Transparency","Restore Transparency to Active Document Objects")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Restore_Transparency.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4663,7 +4668,7 @@ class Arcs2Circles():
"ksu tools Convert Arcs to Circles in Sketch"
def GetResources(self):
- mybtn_tooltip ="Convert Arcs to Circles in Sketch"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("Arcs2Circles","Convert Arcs to Circles in Sketch")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'arc2circle.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4712,9 +4717,9 @@ class approximateCenter():
"ksu tools Create Center of Circle through 3 Vertices"
def GetResources(self):
- mybtn_tooltip ="Create Center of Circle through 3 Vertices or Select two vertices to create a mid point or Select a Shape to create a center point"
+ mybtn_tooltip =QT_TRANSLATE_NOOP("approximateCenter","Create Center of Circle through 3 Vertices or Select two vertices to create a mid point or Select a Shape to create a center point")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'Three-Points-Center.svg') , # the name of a svg file available in the resources
- 'MenuText': "Create Center of Circle through 3 Vertices" ,
+ 'MenuText': QT_TRANSLATE_NOOP("approximateCenter","Create Center of Circle through 3 Vertices") ,
'ToolTip' : mybtn_tooltip}
def Activated(self):
@@ -4821,7 +4826,7 @@ class Create_BoundBox():
"Create BoundBox of the Selected Object"
def GetResources(self):
- mybtn_tooltip ="Create BoundBox of the Selected Object"
+ mybtn_tooltip = QT_TRANSLATE_NOOP("Create_BoundBox", "Create BoundBox of the Selected Object")
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'BoundBox.svg') , # the name of a svg file available in the resources
'MenuText': mybtn_tooltip ,
'ToolTip' : mybtn_tooltip}
@@ -4976,8 +4981,8 @@ class ksuToolsImportFootprint:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'importFPs.svg') , # the name of a svg file available in the resources
- 'MenuText': "Load FootPrint" ,
- 'ToolTip' : "ksu Load KiCad PCB FootPrint"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsImportFootprint", "Load FootPrint"),
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsImportFootprint", "ksu Load KiCad PCB FootPrint")}
def IsActive(self):
#if FreeCAD.ActiveDocument == None:
@@ -5012,8 +5017,8 @@ class ksuToolsAlignView:
def GetResources(self):
return {'Pixmap' : os.path.join( ksuWB_icons_path , 'AlignView2Face.svg') , # the name of a svg file available in the resources
- 'MenuText': "AlignView to Face" ,
- 'ToolTip' : "ksu AlignView to Face"}
+ 'MenuText': QT_TRANSLATE_NOOP("ksuToolsAlignView", "AlignView to Face") ,
+ 'ToolTip' : QT_TRANSLATE_NOOP("ksuToolsAlignView", "ksu AlignView to Face")}
def IsActive(self):
doc = FreeCAD.ActiveDocument
@@ -5089,4 +5094,4 @@ def pointAt(normal, up):
##
-#####
\ No newline at end of file
+#####
diff --git a/kicadStepUptools.py b/kicadStepUptools.py
index 6fd1552..3ab4ed1 100644
--- a/kicadStepUptools.py
+++ b/kicadStepUptools.py
@@ -429,6 +429,7 @@
import PySide
from PySide import QtGui, QtCore
+from TranslateUtils import translate
QtWidgets = QtGui
from time import sleep
@@ -1328,9 +1329,10 @@ def clear_console():
def close_ksu():
#def closeEvent(self, e):
spc="""**************************************************************************** """
- msg="""Do you want to quit?
- Have you saved your STEP artwork?
- """
+ msg=translate("Close",
+ "Do you want to quit? "
+ "Have you saved your STEP artwork? "
+ )
#confirm on exit
QtGui.QApplication.restoreOverrideCursor()
#self.setGeometry(25, 250, 500, 500)
@@ -1338,7 +1340,9 @@ def close_ksu():
res=''
if test_flag_exit==False:
QtGui.QApplication.restoreOverrideCursor()
- res = QtGui.QMessageBox.question(None,"Close",msg,QtGui.QMessageBox.Yes|QtGui.QMessageBox.No)
+ res = QtGui.QMessageBox.question(
+ None,translate("Close", "Close"),msg,QtGui.QMessageBox.Yes|QtGui.QMessageBox.No
+ )
if res is not QtGui.QMessageBox.No:
#e.ignore()
# KSUWidget.close()
@@ -1966,13 +1970,13 @@ def SIGNAL_comboBox_Changed(self,text):
comboBox_Changed(text)
def retranslateUi(self, Dialog):
- Dialog.setWindowTitle("Material Properties")
- self.label.setText("Materials")
- self.label_2.setText("Original")
- self.plainTextEdit.setToolTip("Shape Color")
- self.plainTextEdit_2.setToolTip("Diffuse Color")
- self.label_3.setText("New")
- self.label_4.setText("NB: set Material will unmatch colors between wrl and STEP")
+ Dialog.setWindowTitle(translate("Ui_Dialog", "Material Properties"))
+ self.label.setText(translate("Ui_Dialog", "Materials"))
+ self.label_2.setText(translate("Ui_Dialog", "Original"))
+ self.plainTextEdit.setToolTip(translate("Ui_Dialog", "Shape Color"))
+ self.plainTextEdit_2.setToolTip(translate("Ui_Dialog", "Diffuse Color"))
+ self.label_3.setText(translate("Ui_Dialog", "New"))
+ self.label_4.setText(translate("Ui_Dialog", "NB: set Material will unmatch colors between wrl and STEP"))
###
def isWritable(path):
try:
@@ -7331,7 +7335,7 @@ def routineR_XYZ(axe,alpha):
doc.commitTransaction()
#say("end of rotineZ!")
else:
- say("Select ONE single part object !")
+ say(translate("Say", "Select ONE single part object !"))
say_single_obj()
#QtGui.QMessageBox.information(None,"Info ...","Select ONE single part object !\r\n"+"\r\n")
### end RotateXYZ
@@ -7379,7 +7383,7 @@ def routineT_XYZ(axe,v):
doc.commitTransaction()
#say("end of rotineT!")
else:
- say("Select ONE single part object !")
+ say(translate("Say", "Select ONE single part object !"))
say_single_obj()
#QtGui.QMessageBox.information(None,"Info ...","Select ONE single part object !\r\n"+"\r\n")
### end TranslateXYZ
@@ -7456,7 +7460,7 @@ def routineResetPlacement(keepWB=None):
#FreeCAD.activeDocument().recompute()
#say("end of rotineRP!")
else:
- say("Select ONE single part object !")
+ say(translate("Say", "Select ONE single part object !"))
say_single_obj()
#QtGui.QMessageBox.information(None,"Info ...","Select ONE single part object !\r\n"+"\r\n")
del objs
@@ -7465,11 +7469,11 @@ def routineResetPlacement(keepWB=None):
def routineScaleVRML():
global exportV, exportS, applymaterials
if FreeCAD.ActiveDocument.FileName == "":
- msg="""please save your job file before exporting."""
+ msg = translate("Save", "please save your job file before exporting.")
QtGui.QApplication.restoreOverrideCursor()
- QtGui.QMessageBox.information(None,"Info ...",msg)
- FreeCADGui.SendMsgToActiveView("Save")
- say('routine Scale to VRML 1/2.54')
+ QtGui.QMessageBox.information(None,translate("Save", "Info ..."),msg)
+ FreeCADGui.SendMsgToActiveView(translate("Save", "Save"))
+ say(translate("Say", 'routine Scale to VRML 1/2.54'))
cfg_read_all()
doc = FreeCAD.ActiveDocument
doc.openTransaction('exportModel')
@@ -7541,7 +7545,7 @@ def routineScaleVRML():
say('done')
FreeCAD.ActiveDocument.commitTransaction()
else:
- say("Select ONE single part object !")
+ say(translate("Say", "Select ONE single part object !"))
say_single_obj()
#QtGui.QMessageBox.information(None,"Info ...","Select ONE single part object !\r\n"+"\r\n")
return 0
@@ -7610,7 +7614,7 @@ def routineScaleVRML_1():
QtGui.QMessageBox.information(None,"Info ...",msg)
self.setWindowState(QtCore.Qt.WindowActive)
else:
- say("Select ONE single part object !")
+ say(translate("Say", "Select ONE single part object !"))
say_single_obj()
#QtGui.QMessageBox.information(None,"Info ...","Select ONE single part object !\r\n"+"\r\n")
return 0
@@ -7702,7 +7706,7 @@ def routineP_XYZ(axe):
#FreeCADGui.SendMsgToActiveView("ViewFit")
##FreeCADGui.activeDocument().activeView().viewTop()
doc = FreeCAD.ActiveDocument
- say("Put on Axe XYZ !")
+ say(translate("Say", "Put on Axe XYZ !"))
selEx = FreeCADGui.Selection.getSelectionEx()
objs = [selobj.Object for selobj in selEx]
if len(objs) == 1:
@@ -7755,18 +7759,22 @@ def routineP_XYZ(axe):
routineResetPlacement()
doc.commitTransaction()
else:
- say("Select ONE single part object !")
+ say(translate("Say", "Select ONE single part object !"))
say_single_obj()
#QtGui.QMessageBox.information(None,"Info ...","Select ONE single part object !\r\n")
### end routineP_XYZ
def say_single_obj():
QtGui.QApplication.restoreOverrideCursor()
- msg="""Select ONE single part object !
- suggestion for multi-part: Part Boolean Union (recommended) or Part Make compound (alternative choice)"""
+ msg = translate("Say", "Select ONE single part object ! \n"
+ "suggestion for multi-part: \n"
+ " Part Boolean Union (recommended) \n"
+ "or \n"
+ " Part Make compound (alternative choice)"
+ )
spc="""*******************************************************************************
"""
- msg1="Error in selection"
+ msg1=translate("Say", "Error in selection")
QtGui.QApplication.restoreOverrideCursor()
#RotateXYZGuiClass().setGeometry(25, 250, 500, 500)
diag = QtGui.QMessageBox(QtGui.QMessageBox.Icon.Critical,
@@ -7777,10 +7785,14 @@ def say_single_obj():
def say_select_obj():
QtGui.QApplication.restoreOverrideCursor()
- msg="""Select a Compound or a Part Design group or more than one Part object ! """
+ msg = translate("Say",
+ "Select a Compound or \n"
+ "a Part Design group \n"
+ "or more than one Part object ! "
+ )
spc="""*******************************************************************************
"""
- msg1="Error in selection"
+ msg1=translate("Say", "Error in selection")
QtGui.QApplication.restoreOverrideCursor()
#RotateXYZGuiClass().setGeometry(25, 250, 500, 500)
diag = QtGui.QMessageBox(QtGui.QMessageBox.Icon.Critical,
@@ -7794,7 +7806,7 @@ def say_warning(msg):
# msg="""Select a Compound or a Part Design group or more than one Part object ! """
spc="""*******************************************************************************
"""
- msg1="Warning ..."
+ msg1 = translate("Say", "Warning ...")
QtGui.QApplication.restoreOverrideCursor()
#RotateXYZGuiClass().setGeometry(25, 250, 500, 500)
diag = QtGui.QMessageBox(QtGui.QMessageBox.Icon.Warning,
@@ -7808,7 +7820,7 @@ def say_error(msg):
# msg="""Select a Compound or a Part Design group or more than one Part object ! """
spc="""*******************************************************************************
"""
- msg1="ERROR! ..."
+ msg1 = translate("Say", "ERROR! ...")
QtGui.QApplication.restoreOverrideCursor()
#RotateXYZGuiClass().setGeometry(25, 250, 500, 500)
diag = QtGui.QMessageBox(QtGui.QMessageBox.Icon.Critical,
@@ -7822,7 +7834,7 @@ def say_info(msg):
# msg="""Select a Compound or a Part Design group or more than one Part object ! """
spc="""*******************************************************************************
"""
- msg1="Info ..."
+ msg1 = translate("Say","Info ...")
QtGui.QApplication.restoreOverrideCursor()
#RotateXYZGuiClass().setGeometry(25, 250, 500, 500)
diag = QtGui.QMessageBox(QtGui.QMessageBox.Icon.Information,
@@ -7878,7 +7890,7 @@ def get_position():
pass
else:
if exportS:
- say("Select ONE single part object !")
+ say(translate("Say", "Select ONE single part object !"))
##QtGui.QMessageBox.information(None,"Info ...","Select ONE single part object !\r\n"+"\r\n")
#QtGui.QApplication.restoreOverrideCursor()
#msg="""Select ONE single part object !
@@ -7944,7 +7956,7 @@ def routineM_XYZ(axe,v):
doc.commitTransaction()
#say("end of rotineM!")
else:
- say("Select an object !")
+ say(translate("Say", "Select an object !"))
#QtGui.QMessageBox.information(None,"Info ...","Select ONE single part object !\r\n"+"\r\n")
### end Move to Point XYZ
@@ -14435,7 +14447,7 @@ def setupUi(self, DockWidget):
local_link=""+ini_file_full_path_bold+""
#self.config_ini_Lbl.setText(local_link)
self.config_ini_Lbl.setText('')
- self.config_ini_Lbl.setToolTip("ksu config ini file\nlocation")
+ self.config_ini_Lbl.setToolTip(translate("Ui_DockWidget", "ksu config ini file\nlocation"))
self.textInputRX.setAlignment(QtCore.Qt.AlignRight)
self.textInputRY.setAlignment(QtCore.Qt.AlignRight)
self.textInputRZ.setAlignment(QtCore.Qt.AlignRight)
@@ -14488,62 +14500,62 @@ def setupUi(self, DockWidget):
## retraslateUi Qt5 compatibility #############################################################################################################
def retranslateUi(self, DockWidget):
#DockWidget.setWindowTitle(QtGui.QApplication.translate("DockWidget", "kicad StepUp tools", None, QtGui.QApplication.UnicodeUTF8))
- DockWidget.setWindowTitle("kicad StepUp tools")
- self.dock_left.setToolTip("dock left")
- self.dock_float.setToolTip("un-dock (floating)")
- self.dock_minimize.setToolTip("minimize")
- self.dock_right.setToolTip("dock right")
- self.close.setToolTip("close")
- self.textInputX.setToolTip("translate (+/- mm)")
+ DockWidget.setWindowTitle(translate("Ui_DockWidget", "KiCad StepUp tools"))
+ self.dock_left.setToolTip(translate("Ui_DockWidget", "dock left"))
+ self.dock_float.setToolTip(translate("Ui_DockWidget", "un-dock (floating)"))
+ self.dock_minimize.setToolTip(translate("Ui_DockWidget", "minimize"))
+ self.dock_right.setToolTip(translate("Ui_DockWidget", "dock right"))
+ self.close.setToolTip(translate("Ui_DockWidget", "close"))
+ self.textInputX.setToolTip(translate("Ui_DockWidget", "translate (+/- mm)"))
self.textInputX.setText("0.10")
- self.textInputZ.setToolTip("translate (+/- mm)")
+ self.textInputZ.setToolTip(translate("Ui_DockWidget", "translate (+/- mm)"))
self.textInputZ.setText("0.10")
- self.textInputY.setToolTip("translate (+/- mm)")
+ self.textInputY.setToolTip(translate("Ui_DockWidget", "translate (+/- mm)"))
self.textInputY.setText("0.10")
- self.TranslateX.setToolTip("translate X (+/- mm)")
- self.TranslateY.setToolTip("translate Y (+/- mm)")
- self.TranslateZ.setToolTip("translate Z (+/- mm)")
- self.PutOnX.setToolTip("put on X")
- self.PutOnY.setToolTip("put on Y")
- self.PutOnZ.setToolTip("put on Z")
- self.textInputRX.setToolTip("rotation angle (+/- deg)")
+ self.TranslateX.setToolTip(translate("Ui_DockWidget", "translate X (+/- mm)"))
+ self.TranslateY.setToolTip(translate("Ui_DockWidget", "translate Y (+/- mm)"))
+ self.TranslateZ.setToolTip(translate("Ui_DockWidget", "translate Z (+/- mm)"))
+ self.PutOnX.setToolTip(translate("Ui_DockWidget", "put on X"))
+ self.PutOnY.setToolTip(translate("Ui_DockWidget", "put on Y"))
+ self.PutOnZ.setToolTip(translate("Ui_DockWidget", "put on Z"))
+ self.textInputRX.setToolTip(translate("Ui_DockWidget", "rotation angle (+/- deg)"))
self.textInputRX.setText("90")
- self.textInputRY.setToolTip("rotation angle (+/- deg)")
+ self.textInputRY.setToolTip(translate("Ui_DockWidget", "rotation angle (+/- deg)"))
self.textInputRY.setText("90")
- self.textInputRZ.setToolTip("rotation angle (+/- deg)")
+ self.textInputRZ.setToolTip(translate("Ui_DockWidget", "rotation angle (+/- deg)"))
self.textInputRZ.setText("90")
- self.RotateX.setToolTip("rotate X (+/- deg)")
- self.RotateY.setToolTip("rotate Y (+/- deg)")
- self.RotateZ.setToolTip("rotate Z (+/- deg)")
- self.CenterX.setToolTip("center X")
- self.CenterY.setToolTip("center Y")
- self.CenterZ.setToolTip("center Z")
- self.makeCompound.setToolTip("make Compound of Parts")
- self.LoadBoard.setToolTip("Load kicad\n"
-"Board .kicad_pcb")
- self.ScaleVRML.setToolTip("export to kicad:\n"
-"STEP & scaled VRML 1/2.54")
- self.cb_virtual.setToolTip("enalble loading\n"
+ self.RotateX.setToolTip(translate("Ui_DockWidget", "rotate X (+/- deg)"))
+ self.RotateY.setToolTip(translate("Ui_DockWidget", "rotate Y (+/- deg)"))
+ self.RotateZ.setToolTip(translate("Ui_DockWidget", "rotate Z (+/- deg)"))
+ self.CenterX.setToolTip(translate("Ui_DockWidget", "center X"))
+ self.CenterY.setToolTip(translate("Ui_DockWidget", "center Y"))
+ self.CenterZ.setToolTip(translate("Ui_DockWidget", "center Z"))
+ self.makeCompound.setToolTip(translate("Ui_DockWidget", "make Compound of Parts"))
+ self.LoadBoard.setToolTip(translate("Ui_DockWidget", "Load KiCad\n"
+"Board .kicad_pcb"))
+ self.ScaleVRML.setToolTip(translate("Ui_DockWidget", "export to KiCad:\n"
+"STEP & scaled VRML 1/2.54"))
+ self.cb_virtual.setToolTip(translate("Ui_DockWidget", "enable loading\n"
"virtual & mechanical\n"
-"models")
- self.cb_materials.setToolTip("use wrl\n"
-"material")
- self.LoadFootprint.setToolTip("load kicad footprint\n"
-"\'kicad_mod\'")
- self.cb_expStep.setToolTip("export STEP Board\n"
-"and Parts after loading")
- self.makeUnion.setToolTip("make Union of Parts")
- self.import3D.setToolTip("import STEP\n"
-"3D model")
- self.checkCollisions.setToolTip("check Collisions\n"
-"tolerance 1e-06")
- self.export3DStep.setToolTip("export selected objects to STEP")
- self.CreateAxis.setToolTip("create reference Axis")
- self.HelpPB.setToolTip("Help & starting Guide")
- self.ConfigPB.setToolTip("view Config File content")
- self.pushPCB.setToolTip("push PCB Edge to KiCad\n"
-"from Sketcher to pcbnew")
- #self.config_ini_Lbl.setText("TextLabel")
+"models"))
+ self.cb_materials.setToolTip(translate("Ui_DockWidget", "use wrl\n"
+"material"))
+ self.LoadFootprint.setToolTip(translate("Ui_DockWidget", "load KiCad footprint\n"
+"\'kicad_mod\'"))
+ self.cb_expStep.setToolTip(translate("Ui_DockWidget", "export STEP Board\n"
+"and Parts after loading"))
+ self.makeUnion.setToolTip(translate("Ui_DockWidget", "make Union of Parts"))
+ self.import3D.setToolTip(translate("Ui_DockWidget", "import STEP\n"
+"3D model"))
+ self.checkCollisions.setToolTip(translate("Ui_DockWidget", "check Collisions\n"
+"tolerance 1e-06"))
+ self.export3DStep.setToolTip(translate("Ui_DockWidget", "export selected objects to STEP"))
+ self.CreateAxis.setToolTip(translate("Ui_DockWidget", "create reference Axis"))
+ self.HelpPB.setToolTip(translate("Ui_DockWidget", "Help & starting Guide"))
+ self.ConfigPB.setToolTip(translate("Ui_DockWidget", "view Config File content"))
+ self.pushPCB.setToolTip(translate("Ui_DockWidget", "push PCB Edge to KiCad\n"
+"from Sketcher to pcbnew"))
+ #self.config_ini_Lbl.setText("TextLabel"))
#self.config_ini_Lbl.setText("TextLabel")
@@ -14694,7 +14706,7 @@ def changePixmap_stop_disabled(self):
pm.loadFromData(base64.b64decode(stop_b64))
self.collisionLbl.setPixmap(pm)
self.collisionLbl.setEnabled(False)
- self.collisionLbl.setToolTip('collisions result status')
+ self.collisionLbl.setToolTip(translate("Ui_DockWidget", 'collisions result status'))
#self.setPixmap(pm)
#self.pixmap = QtGui.QPixmap(pm)
#self.repaint() # repaint() will trigger the paintEvent(self, event), this way the new pixmap will be drawn on the label
@@ -14710,7 +14722,7 @@ def changePixmap_ok(self):
self.checkCollisions.setIcon(pm)
#self.checkCollisions.setEnabled(True)
QtCore.QTimer.singleShot(timer_Collisions, self.changePixmap_button_base)
- self.checkCollisions.setToolTip('NO collisions found')
+ self.checkCollisions.setToolTip(translate("Ui_DockWidget", 'NO collisions found'))
#self.setPixmap(pm)
##self.pixmap = QtGui.QPixmap(pm)
#self.repaint() # repaint() will trigger the paintEvent(self, event), this way the new pixmap will be drawn on the label
@@ -14725,7 +14737,7 @@ def changePixmap_button_base(self):
self.checkCollisions.setIcon(pm)
#self.checkCollisions.setEnabled(True)
#QtCore.QTimer.singleShot(timer_Collisions, self.changePixmap_stop_disabled)
- self.checkCollisions.setToolTip('check Collisions\ntolerance 1e-06')
+ self.checkCollisions.setToolTip(translate("Ui_DockWidget", 'check Collisions\ntolerance 1e-06'))
#self.setPixmap(pm)
##self.pixmap = QtGui.QPixmap(pm)
#self.repaint() # repaint() will trigger the paintEvent(self, event), this way the new pixmap will be drawn on the label
@@ -14737,7 +14749,7 @@ def changePixmap_collisions(self):
self.checkCollisions.setIconSize(QtCore.QSize(btn_md_sizeX,btn_md_sizeY))
self.checkCollisions.setIcon(pm)
QtCore.QTimer.singleShot(timer_Collisions, self.changePixmap_button_base)
- self.checkCollisions.setToolTip('collisions FOUND!')
+ self.checkCollisions.setToolTip(translate("Ui_DockWidget", 'collisions FOUND!'))
#self.setPixmap(pm)
#self.pixmap = QtGui.QPixmap(pm)
#self.repaint() # repaint() will trigger the paintEvent(self, event), this way the new pixmap will be drawn on the label
@@ -14749,7 +14761,7 @@ def changePixmap_stop(self):
self.collisionLbl.setPixmap(pm)
self.collisionLbl.setEnabled(True)
QtCore.QTimer.singleShot(timer_Collisions, self.changePixmap_stop_disabled)
- self.collisionLbl.setToolTip('collisions FOUND!')
+ self.collisionLbl.setToolTip(translate("Ui_DockWidget", 'collisions FOUND!'))
#self.setPixmap(pm)
#self.pixmap = QtGui.QPixmap(pm)
#self.repaint() # repaint() will trigger the paintEvent(self, event), this way the new pixmap will be drawn on the label
@@ -14855,7 +14867,7 @@ def onCfg(self):
#KSUWidget.setGeometry(xp, yp, sizeXMax, sizeY)
textEdit_dim = textEdit_dim_base
self.textEdit.setGeometry(textEdit_dim[0],textEdit_dim[1],textEdit_dim[2],textEdit_dim[3])
- self.textEdit.setToolTip("ksu config ini file\ncontent")
+ self.textEdit.setToolTip(translate("Ui_DockWidget", "ksu config ini file\ncontent"))
centerOnScreen (KSUWidget)
#say("your home path is "+ expanduser("~"))
sayw("kicad StepUp version "+str(___ver___))
@@ -15006,7 +15018,7 @@ def onHelp(self):
#KSUWidget.setGeometry(xp, yp, sizeXMax, sizeY)
textEdit_dim = textEdit_dim_base
self.textEdit.setGeometry(textEdit_dim[0],textEdit_dim[1],textEdit_dim[2],textEdit_dim[3])
- self.textEdit.setToolTip("Help Start Guide")
+ self.textEdit.setToolTip(translate("Ui_DockWidget", "Help Start Guide"))
centerOnScreen (KSUWidget)
#ini_content=read_ini_file()
font_color=""""""
@@ -15440,19 +15452,19 @@ def setupUi(self, LayerSelection):
self.comboBoxLayerSel.setObjectName("comboBoxLayerSel")
self.verticalLayout.addWidget(self.comboBoxLayerSel)
self.radioBtn_newdoc = QtWidgets.QRadioButton(self.verticalLayoutWidget)
- self.radioBtn_newdoc.setToolTip("open in new FreeCAD document")
- self.radioBtn_newdoc.setText("open in new document")
+ self.radioBtn_newdoc.setToolTip(translate("Ui_LayerSelection", "open in new FreeCAD document"))
+ self.radioBtn_newdoc.setText(translate("Ui_LayerSelection", "open in new document"))
self.radioBtn_newdoc.setChecked(True)
self.radioBtn_newdoc.setObjectName("radioBtn_newdoc")
self.verticalLayout.addWidget(self.radioBtn_newdoc)
self.radioBtn_replace_pcb = QtWidgets.QRadioButton(self.verticalLayoutWidget)
- self.radioBtn_replace_pcb.setToolTip("
replace PCB in current document
N.B. Sketch constrains will be deleted!
")
- self.radioBtn_replace_pcb.setText("replace PCB and Sketch in current document")
+ self.radioBtn_replace_pcb.setToolTip(translate("Ui_LayerSelection", "
replace PCB in current document
N.B. Sketch constrains will be deleted!
"))
+ self.radioBtn_replace_pcb.setText(translate("Ui_LayerSelection", "replace PCB and Sketch in current document"))
self.radioBtn_replace_pcb.setObjectName("radioBtn_replace_pcb")
self.verticalLayout.addWidget(self.radioBtn_replace_pcb)
self.radioBtn_keep_sketch = QtWidgets.QRadioButton(self.verticalLayoutWidget)
- self.radioBtn_keep_sketch.setToolTip("
keep Sketch in current document
N.B. this option will keep Sketch & constrains but replace the PCB
This could lead to a unsynced Sketch feature
")
- self.radioBtn_keep_sketch.setText("replace PCB and keep Sketch in curr. doc")
+ self.radioBtn_keep_sketch.setToolTip(translate("Ui_LayerSelection", "
keep Sketch in current document
N.B. this option will keep Sketch & constrains but replace the PCB
This could lead to a unsynced Sketch feature
"))
+ self.radioBtn_keep_sketch.setText(translate("Ui_LayerSelection", "replace PCB and keep Sketch in curr. doc"))
self.radioBtn_keep_sketch.setObjectName("radioBtn_keep_sketch")
self.verticalLayout.addWidget(self.radioBtn_keep_sketch)
@@ -15517,12 +15529,12 @@ def setupUi(self, LayerSelectionOut):
self.width_label = QtWidgets.QLabel(self.verticalLayoutWidget_2)
self.width_label.setMinimumSize(QtCore.QSize(150, 0))
self.width_label.setToolTip("")
- self.width_label.setText("Line Width:")
+ self.width_label.setText(translate("Ui_LayerSelectionOut", "Line Width:"))
self.width_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.width_label.setObjectName("width_label")
self.horizontalLayout.addWidget(self.width_label)
self.lineEdit_width = QtWidgets.QLineEdit(self.verticalLayoutWidget_2)
- self.lineEdit_width.setToolTip("Line width for drawings")
+ self.lineEdit_width.setToolTip(translate("Ui_LayerSelectionOut", "Line width for drawings"))
self.lineEdit_width.setText("0.16")
self.lineEdit_width.setObjectName("lineEdit_width")
self.horizontalLayout.addWidget(self.lineEdit_width)
@@ -15555,9 +15567,9 @@ def PushPCB():
global last_3d_path, start_time, load_sketch, last_pcb_path, edge_width
#say("export3DSTEP")
if load_sketch==False:
- msg="""Edge editing NOT supported on FC0.15! please upgrade your FC release"""
+ msg = translate("PushPCB", "Edge editing NOT supported on FC0.15! please upgrade your FC release")
say_warning(msg)
- msg="Edge editing NOT supported on FC0.15!"
+ msg = translate("PushPCB", "Edge editing NOT supported on FC0.15!")
sayerr(msg)
#if 0:
#if FreeCAD.ActiveDocument is None:
@@ -15575,7 +15587,7 @@ def PushPCB():
if 0:
from pivy import coin
from math import degrees
- print('getting camera view')
+ print(translate("PushPCB", "getting camera view"))
pcam = FreeCADGui.ActiveDocument.ActiveView.getCamera()
sketch = sel[0]
rot = sketch.getGlobalPlacement().Rotation
@@ -15583,10 +15595,10 @@ def PushPCB():
cam = FreeCADGui.ActiveDocument.ActiveView.getCameraNode()
if rot.Angle < 0.001:
rot.Angle = 0
- print ('forcing rotAngle to 0')
+ print (translate("PushPCB", "forcing rotAngle to 0"))
cam.orientation.setValue(coin.SbVec3f(rot.Axis.x, rot.Axis.y, rot.Axis.z), rot.Angle) #-pi)
FreeCADGui.ActiveDocument.ActiveView.fitAll()
- print('evaluate to recompute')
+ print(translate("PushPCB", "evaluate to recompute"))
FreeCAD.ActiveDocument.recompute()
#sel[0].ViewObject.Visibility = False
#print(sel[0].Label)
@@ -15639,7 +15651,7 @@ def PushPCB():
else:
if not (name.endswith("kicad_pcb")):
name = name + ".kicad_pcb"
- msg="Saving to an empty KiCad pcb file"+'\n'+name
+ msg = translate("PushPCB", "Saving to an empty KiCad pcb file")+'\n'+name
sayw(msg)
last_pcb_path=os.path.dirname(name)
pg = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/kicadStepUp")
@@ -15655,19 +15667,19 @@ def PushPCB():
# msg="Save to an EXISTING KiCad pcb file to update your Edge!"
# sayerr(msg)
else: #cancel
- print('Cancel')
+ print(translate("PushPCB", "Cancel"))
pass
if 0:
- print('restoring cam view')
+ print(translate("PushPCB", "Restoring cam view"))
FreeCADGui.ActiveDocument.ActiveView.setCamera(pcam)
# sel[0].ViewObject.Visibility = True
else:
- msg="""select one Sketch to be pushed to kicad board!"""
+ msg = translate("PushPCB", "Select one Sketch to be pushed to kicad board!")
sayerr(msg)
say_warning(msg)
else:
- msg="""select one Sketch to be pushed to kicad board!"""
+ msg = translate("PushPCB", "Select one Sketch to be pushed to kicad board!")
sayerr(msg)
say_warning(msg)
##
diff --git a/translations/ksu.ts b/translations/ksu.ts
new file mode 100644
index 0000000..07cf2a4
--- /dev/null
+++ b/translations/ksu.ts
@@ -0,0 +1,2271 @@
+
+
+
+
+ CDialog
+
+
+ Dialog
+
+
+
+
+ explode_dwg
+
+
+ Explode 3D PCB
+ kicad StepUp 3D tools
+
+
+
+
+ 1.0
+
+
+
+
+ kSUGui::DlgSettingskStepUp
+
+
+
+
+ General
+
+
+
+
+
+ 3D Prefix working folder
+
+
+
+
+
+ <html><head/><body><p>your <span style=" font-weight:600;">KISYS3DMOD</span> path</p><p>or 3D model <span style=" font-weight:600;">main prefix path</span></p></body></html>
+
+
+
+
+
+ main 3D folder location 'KISYS3DMOD'
+or 'KICAD6_3DMODEL_DIR'
+
+
+
+
+
+ <html><head/><body><p>main 3D folder location</p><p><span style=" font-weight:600;">'KISYS3DMOD'</span></p></body></html>
+
+
+
+
+
+
+
+
+
+ <html><head/><body><p>your <span style=" font-weight:600;">ALIAS</span> 3D</p><p>model prefix path</p></body></html>
+
+
+
+
+
+ secondary 3D folder loc
+'ALT2 3DMOD'
+
+
+
+
+
+
+
+
+
+ <html><head/><body><p>secondary 3D folder location</p><p><span style=" font-weight:600;">'ALT3DMOD'</span></p></body></html>
+
+
+
+
+
+ PCB settings
+
+
+
+
+ PCBs color.
+
+
+
+
+
+
+
+
+ PCB color
+
+
+
+
+ LightGreen
+
+
+
+
+
+ Green
+
+
+
+
+
+ Blue
+
+
+
+
+
+ Red
+
+
+
+
+
+ Purple
+
+
+
+
+
+ DarkGreen
+
+
+
+
+
+ DarkBlue
+
+
+
+
+
+ LightBlue
+
+
+
+
+
+ Yellow
+
+
+
+
+
+ Black
+
+
+
+
+
+ White
+
+
+
+
+
+
+
+ PCB Reference Placement in mechanical environment
+
+
+
+
+
+ PCB Placement
+
+
+
+
+
+ Grid Origin
+
+
+
+
+
+ Aux Origin
+
+
+
+
+
+ Pcb Center (approx)
+
+
+
+
+
+
+
+ Constraints to be added to PCB Sketch
+
+
+
+
+
+ PCB Sketch mode (constraints)
+
+
+
+
+
+ Coincident
+
+
+
+
+
+ V&H, Coincident
+
+
+
+
+
+ Full
+
+
+
+
+
+ None
+
+
+
+
+
+ Enable/Disable Virtual 3D
+(mechanical) models
+
+
+
+
+
+ Virtual 3D Models loading
+
+
+
+
+
+
+
+ minimum Drill size applied to PCB
+'0.0' -> all drills are loaded
+'-1' -> all drills and vias are loaded
+
+
+
+
+
+ minimum Drill size applied to PCB
+
+
+
+
+
+ 0.0
+
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Bounding Box LIST:</span><br/>configure which 3D models will be converted to Bounding Box<br/><span style=" font-weight:600;">Examples:</span><br/><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> all models will be converted to bounding boxes</span><br/><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> these two models will NOT be converted to BBox</span><br/><span style=" font-style:italic;">(list of 3D model's names separated by a semicolon)</span></p></body></html>
+
+
+
+
+
+ Bounding Boxes
+
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Black List:</span><br/>put here your model names that you don't want to load (e.g. smallest ones)<br/>separated by a semicolon.<br/>DNP or DNF attribute.<br/>volume and height are also configurable.<br/>(volume=1 means all models with a volume < 1mm3 will not be included)<br/>(height=1 means all models with a height < 1mm will not be included)<br/><br/><span style=" font-weight:600;">Examples:</span><br/>DNP;R_0402_1005Metric;C_0402_1005Metric;<br/>height=1.0<br/>volume=1.0<br/><span style=" font-weight:600;">An empty list means all the models will be parsed.</span></p></body></html>
+
+
+
+
+
+ Black List
+
+
+
+
+
+
+
+ minimum Edge Tolerance applied to PCB
+default '0.01mm'
+
+
+
+
+
+ minimum edge tolerance
+
+
+
+
+
+ 0.01
+
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">White List:</span><br/>put here your model names that you must load (e.g. smallest ones)<br/>separated by a semicolon.<br/><br/><span style=" font-weight:600;">Examples:</span><br/>
+LED_D5.0mm_IRBlack;USB_Mini-B_Lumberg_2486_01_Horizontal;<br/><span style=" font-weight:600;">An empty list means all the models will behave as usual.</span></p></body></html>
+
+
+
+
+ White List
+
+
+
+
+
+ Import/Export settings
+
+
+
+
+
+ <html><head/><body><p>Enable/Disable <span style=" font-weight:600;">fusion (union)</span> of all 3D models.</p><p>Be careful ... fusion can be heavy or generate FC crash with a lot of objects.</p><p>Please consider to use bbox or blacklist small objects</p></body></html>
+
+
+
+
+
+ Make a Union of 3D models
+
+
+
+
+
+ <html><head/><body><p>Directly <span style=" font-weight:600;">Export STEP</span> after Loading</p></body></html>
+
+
+
+
+
+ Directly Export STEP after Loading
+
+
+
+
+ STEP export mode.
+
+
+
+
+
+
+
+
+ STEP export mode
+
+
+
+
+
+
+
+ Hierarchy
+
+
+
+
+
+ Flat
+
+
+
+
+
+ One Container
+
+
+
+
+ 3D Loading mode.
+
+
+
+
+
+
+ 3D Loading mode
+
+
+
+
+
+ 3D_loading_mode
+Allowing or not Loading Multi Parts objects
+
+
+
+
+
+ Simplified
+
+
+
+
+
+ NotMultiParts
+
+
+
+
+
+ Standard
+
+
+
+
+ Assembly3 Links allowed.
+
+
+
+
+
+
+ Assembly3 Links allowed
+
+
+
+
+ Enables Materials for VRML exporting.
+
+
+
+
+
+
+ Enable Materials for VRML exporting
+
+
+
+
+ Start Turntable after loading.
+
+
+
+
+
+
+ Start Turntable after loading
+
+
+
+
+ Assembly3 LinkGroups allowed.
+
+
+
+
+
+
+ Assembly3 LinkGroups allowed
+
+
+
+
+ Enables compressed STEP file ('.stpZ') generation exporting.
+
+
+
+
+
+
+ Enable compressed STEP file ('.stpZ') generation exporting
+
+
+
+
+ Enables compressed VRML file ('.wrz') generation exporting.
+
+
+
+
+
+
+ Enable compressed VRML file ('.wrz') generation exporting
+
+
+
+
+ Displays STEP import settings warning.
+
+
+
+
+
+
+ Display STEP import settings warning
+
+
+
+
+
+ <html><head/><body><p>Apply Transparency for 'Glass' Materials:</p><p>Force Transparency to STEP model if 'Glass' is found in '.wrl' model</p></body></html>
+
+
+
+
+
+ Apply Transparency for 'Glass' Materials
+
+
+
+
+
+ <html><head/><body><p>Apply Transparency for 'Led' Materials:</p><p>Force Transparency to STEP model if 'Led' is found in '.wrl' model</p></body></html>
+
+
+
+
+
+ Apply Transparency for 'Led' Materials
+
+
+
+
+ <html><head/><body><p>Skip importing pcb zone(s)</p></body></html>
+
+
+
+
+ skpZone
+
+
+
+
+ <html><head/><body><p>Skip importing pcb tracks and vias</p></body></html>
+
+
+
+
+ skpTracks
+
+
+
+
+ <html><head/><body><p>Skip importing pcb pads</p></body></html>
+
+
+
+
+ skpPads
+
+
+
+
+
+ third 3D folder loc
+'ALT3 3DMOD'
+
+
+
+
+
+ fourth 3D folder loc
+'ALT4 3DMOD'
+
+
+
+
+ <html><head/><body><p>Select to NOT use the native dialog box in Open/Save files<br/>(suggested for Snap or FlatPack)</p></body></html>
+
+
+
+
+ don't use native dialog in Open/Save files (for Snap or FlatPack)
+
+
+
+
+
+ Mechanical Check
+
+
+
+
+ Generates Sketches for differences on PCB Edge.
+
+
+
+
+
+
+ Generate Sketches for differences on PCB Edge
+
+
+
+
+ Working directory ccx tools
+
+
+
+
+
+ Use custom directory
+
+
+
+
+ Working directory general FEM solver frame work
+
+
+
+
+ Temporary directories
+
+
+
+
+ Let FreeCAD manage (create, delete) the working directories for all solver. Use temporary directories.
+
+
+
+
+ Beside .fcstd file
+
+
+
+
+ Create a directory in the same folder in which the fcstd file of the document is located. Use Subfolder for each solver (e.g. for a file ./mydoc.fcstd and a solver with the label Elmer002 use ./mydoc/Elmer002).
+
+
+
+
+ Use directory set below. Create own subdirectory for every solver. Name directory after the solver label prefixed with the document name.
+
+
+
+
+ Path:
+
+
+
+
+ Mesh
+
+
+
+
+ Create mesh groups for analysis reference shapes
+
+
+
+
+
+ choice#1
+
+
+
+
+ choice#2
+
+
+
+
+ choice#3
+
+
+
+
+ Results
+
+
+
+
+ Keep results on calculation re-run
+
+
+
+
+ Restore result dialog settings
+
+
+
+
+ Hide constraints when open result dialog
+
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Bounding Box LIST:</span></p><p>configure which 3D models will be converted to Bounding Box</p><p><span style=" font-weight:600;">Examples:</span></p><p><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> all models will be converted to bounding boxes</span></p><p><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> these two models will NOT be converted to BBox</span></p><p><span style=" font-style:italic;">(list of 3D model's names separated by a semicolon)</span></p></body></html>
+
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Black List:</span></p><p>put here your model names that you don't want to load (e.g. smallest ones)</p><p>separated by a semicolon.</p><p>volume and height are also configurable.</p><p>(volume=1 means all models with a volume < 1mm3 will not be included)</p><p>(height=1 means all models with a height < 1mm will not be included)</p><p><br/><span style=" font-weight:600;">Examples:</span></p><p>r_0603;r_0402;c_0402;c_0603</p><p>height=1.0</p><p>volume=1.0</p><p><span style=" font-weight:600;">An empty list means all the models will be parsed.</span></p></body></html>
+
+
+
+
+ Arcs2Circles
+
+
+ Convert Arcs to Circles in Sketch
+
+
+
+
+ Close
+
+
+ <b>Do you want to quit?</b> <i>Have you saved your STEP artwork?</i><br>
+
+
+
+
+ Close
+
+
+
+
+ Create_BoundBox
+
+
+ Create BoundBox of the Selected Object
+
+
+
+
+ Help
+
+
+ <b>Kicad StepUp</b> is a tool set to easily <b>collaborate between kicad pcb EDA</b> (board and 3D parts) as STEP models <b>and FreeCAD MCAD</b> modeler.<br>
+</font>
+
+
+
+
+ <b>StepUp</b> can also be used <b>to align 3D model to kicad footprint</b>.<br>
+The artwork can be used for MCAD interchange and collaboration, and for enclosure design.<br>
+The 3D visualization of components on board assemblies in kicad 3dviewer, will be the same in your mechanical software,
+because of the STEP interchange format.<br>
+It is also possible to <b>Update a pcb Edge from a FC Sketcher.</b><br>
+<b>configuration options:</b><br>Configuration options are located in the preferences system of FreeCAD, which is located in the Edit menu -> Preferences.<br>
+
+
+
+
+
+ starter Guide:<br><a href='{}{}demo{}{}' target='_blank'>{}</a><br>
+
+
+
+
+ <b>Note:</b> each button has its own <b>Tooltip</b><br>
+useful buttons:<br><b>Load kicad Board directly</b> -> will load kicad board and parts in FreeCAD coming from kicad '.kicad_pcb' file<br>
+<b>Load kicad Footprint module</b> -> will load directly kicad footprint in FreeCAD to easily align the 3D model to footprint<br>
+<b>Export to kicad STEP & scaled VRML</b> -> will convert MCAD model to STEP and VRML to be used by Kicad and kicad StepUp<br>
+<b> -> VRML can be multipart;<br> -> STEP must be single part</b><br>(<i>'Part Boolean Union'</i> or <i>'Part Makecompound'</i>)<br>
+<i>assign material to selected colors and your VRML 3D models will have nice shiny effects</i><br>
+<b>Push pcb Sketch to kicad_pcb Edge</b> -> will push pcb Sketch to kicad_pcb Edge in your design; it can be done with an empty or with an existing pcb Edge<br>
+<br>for a more detailed help have a look at <br><b>kicadStepUp-starter-Guide.pdf</b><br>
+or just follow the <b>YouTube video tutorials</b> <br><a href='https://youtu.be/h6wMU3lE_sA' target='_blank'>kicadStepUp basics</a><br>
+<a href='https://youtu.be/O6vr8QFnYGw' target='_blank'>kicadStepUp STEP alignment to Kicad footprint</a><br>
+<a href='https://github.com/easyw/kicadStepUpMod' target='_blank'>check always the latest release of kicadStepUp</a><br><br>
+Designing in kicad native 3d-viewer will produce a fully aligned STEP MCAD version
+with the same view of kicad 3d render.<br>
+Moreover, KiCad StepUp tool set <b>will let you to load the kicad footprint inside FreeCAD and align the 3D part with a visual real time feedback
+of the 3d model and footprint reciprocal position.</b><br>
+With this tool is possible to download a part from on-line libraries, align the model to kicad footprint
+and export the model to wrl, for immediate 3d-viewer alignment in pcbnew.<br>
+Now the two words are connected for a better collaboration; just <b>design in kicad EDA</b> and transfer
+the artwork to <b>MCAD (FreeCAD)</b> smoothly.<br>
+<b>The workflow is very simple</b> and maintains the usual way to work with kicad:<br>
+Add models to your library creating 3D models in FreeCAD, or getting models from online libs
+or from the parametric 3D lib expressly done to kicad <a href='https://github.com/easyw/kicad-3d-models-in-freecad' target='_blank'>kicadStepUp 3D STEP models generator</a><br>
+Once you have your 3D MCAD model, <b>you need to have a copy of that in STEP and VRML format.</b> <br>
+(with the latest kicad release you can only have STEP model, VRML is not needed anymore, but <b>it is possible
+ to mix VRML, STEP and IGES format</b>)<br>
+Just exporting the model with FreeCAD and put your model in the same folder in which
+normally you are used to put vrml models; the script will assembly the MCAD board and models as in 3d-viewer of kicad.
+<br><b>NB<br>STEP model has to be fused in single object</b><br>(Part Boolean Union of objects)
+<br><b>or a Compoud</b> (Part Makecompound of objects)</b>
+<hr><b>enable 'Report view' Panel to see helping messages</b>
+</font>
+<br>
+
+
+
+
+ KiCadStepUpWB
+
+
+ KiCadStepUp
+
+
+
+
+ KiCadStepUp workbench
+
+
+
+
+ Menu
+
+
+ ksu PushPull
+
+
+
+
+
+ ksu Tools
+
+
+
+
+ Demo
+
+
+
+
+ PushPCB
+
+
+ <b>Edge editing NOT supported on FC0.15!</b><br>please upgrade your FC release
+
+
+
+
+ Edge editing NOT supported on FC0.15!
+
+
+
+
+ getting camera view
+
+
+
+
+ forcing rotAngle to 0
+
+
+
+
+ evaluate to recompute
+
+
+
+
+ Saving to an empty KiCad pcb file
+
+
+
+
+ Cancel
+
+
+
+
+ Restoring cam view
+
+
+
+
+
+ Select one Sketch to be pushed to kicad board!
+
+
+
+
+ Restore_Transparency
+
+
+ Restore Transparency to Active Document Objects
+
+
+
+
+ Save
+
+
+ please <b>save</b> your job file before exporting.
+
+
+
+
+ Please <b>save</b> your job file before exporting.
+
+
+
+
+
+ Info ...
+
+
+
+
+
+ Save
+
+
+
+
+ Say
+
+
+ routine Scale to VRML 1/2.54
+
+
+
+
+ Put on Axe XYZ !
+
+
+
+
+ Select <b>ONE single part</b> object !<br>
+suggestion for multi-part:<br>
+ <b>Part Boolean Union (recommended)</b><br>
+or<br>
+ <i>Part Make compound (alternative choice)</i>
+
+
+
+
+ Select <b>a Compound</b> or <br>
+<b>a Part Design group</b><br>
+or <b>more than one Part</b> object !<br>
+
+
+
+
+
+ Error in selection
+
+
+
+
+ Warning ...
+
+
+
+
+ ERROR! ...
+
+
+
+
+ Info ...
+
+
+
+
+
+
+
+
+
+
+ Select ONE single part object !
+
+
+
+
+ Select an object !
+
+
+
+
+ Toolbar
+
+
+ ksu Tools
+
+
+
+
+ ksu Sketching
+
+
+
+
+ ksu PushPull
+
+
+
+
+
+ ksu Design Tools
+
+
+
+
+ ksu Show
+
+
+
+
+ ksu Helpers
+
+
+
+
+ Ui_CDialog
+
+
+ Select a Sketch and Parameters
+to constraint the sketch
+NB the Sketch will be modified!
+
+
+
+
+ <b>Select a Sketch and Parameters to<br>constrain the sketch.<br>NB the Sketch will be modified!</b>
+
+
+
+
+ Constraints
+
+
+
+
+ Lock Coincident, Horizontal
+and Vertical
+
+
+
+
+ Lock Coincident
+
+
+
+
+ Tolerance
+
+
+
+
+ tolerance in mm
+
+
+
+
+ Tolerance on Constraints
+
+
+
+
+ remove duplicated geometries
+
+
+
+
+ Ui_Dialog
+
+
+ Material Properties
+
+
+
+
+ Materials
+
+
+
+
+ Original
+
+
+
+
+ Shape Color
+
+
+
+
+ Diffuse Color
+
+
+
+
+ New
+
+
+
+
+ NB: set Material will unmatch colors between wrl and STEP
+
+
+
+
+ Ui_DockWidget
+
+
+ ksu config ini file
+location
+
+
+
+
+ KiCad StepUp tools
+
+
+
+
+ dock left
+
+
+
+
+ un-dock (floating)
+
+
+
+
+ minimize
+
+
+
+
+ dock right
+
+
+
+
+ close
+
+
+
+
+
+
+ translate (+/- mm)
+
+
+
+
+ translate X (+/- mm)
+
+
+
+
+ translate Y (+/- mm)
+
+
+
+
+ translate Z (+/- mm)
+
+
+
+
+ put on X
+
+
+
+
+ put on Y
+
+
+
+
+ put on Z
+
+
+
+
+
+
+ rotation angle (+/- deg)
+
+
+
+
+ rotate X (+/- deg)
+
+
+
+
+ rotate Y (+/- deg)
+
+
+
+
+ rotate Z (+/- deg)
+
+
+
+
+ center X
+
+
+
+
+ center Y
+
+
+
+
+ center Z
+
+
+
+
+ make Compound of Parts
+
+
+
+
+ Load KiCad
+Board .kicad_pcb
+
+
+
+
+ export to KiCad:
+STEP & scaled VRML 1/2.54
+
+
+
+
+ enable loading
+virtual & mechanical
+models
+
+
+
+
+ use wrl
+material
+
+
+
+
+ load KiCad footprint
+'kicad_mod'
+
+
+
+
+ export STEP Board
+and Parts after loading
+
+
+
+
+ make Union of Parts
+
+
+
+
+ import STEP
+3D model
+
+
+
+
+ export selected objects to STEP
+
+
+
+
+ create reference Axis
+
+
+
+
+ Help & starting Guide
+
+
+
+
+ view Config File content
+
+
+
+
+ push PCB Edge to KiCad
+from Sketcher to pcbnew
+
+
+
+
+ collisions result status
+
+
+
+
+ NO collisions found
+
+
+
+
+
+ check Collisions
+tolerance 1e-06
+
+
+
+
+
+ collisions FOUND!
+
+
+
+
+ ksu config ini file
+content
+
+
+
+
+ Help Start Guide
+
+
+
+
+ Ui_LayerSelection
+
+
+ open in new FreeCAD document
+
+
+
+
+ open in new document
+
+
+
+
+ <html><head/><body><p>replace PCB in current document</p><p><span style=" font-weight:600; color:#aa0000;">N.B.</span> Sketch constrains will be deleted!</p></body></html>
+
+
+
+
+ replace PCB and Sketch in current document
+
+
+
+
+ <html><head/><body><p>keep Sketch in current document</p><p><span style=" font-weight:600; color:#aa0000;">N.B.</span> this option will keep Sketch & constrains but replace the PCB</p><p>This could lead to a unsynced Sketch feature</p></body></html>
+
+
+
+
+ replace PCB and keep Sketch in curr. doc
+
+
+
+
+ Ui_LayerSelectionOut
+
+
+ Line Width:
+
+
+
+
+ Line width for drawings
+
+
+
+
+ Ui_Offset_value
+
+
+ Offset value
+
+
+
+
+ Offset [+/- mm]:
+
+
+
+
+ Offset value [+/- mm]
+
+
+
+
+ Arc or Intersection Offset method
+
+
+
+
+ Arc
+
+
+
+
+ Offset Y [mm]:
+
+
+
+
+ Offset Y value [+/- mm]
+
+
+
+
+ approximateCenter
+
+
+ Create Center of Circle through 3 Vertices or Select two vertices to create a mid point or Select a Shape to create a center point
+
+
+
+
+ Create Center of Circle through 3 Vertices
+
+
+
+
+ checkSolidExpSTEP
+
+
+ Check if the selected part would be
+exported to STEP as a single solid
+
+
+
+
+ ksu
+
+
+ PolyLine Contour generated
+
+<b>For PolyLine Pads, please add 'circles' inside each closed polyline</b><br>
+
+
+
+
+ Select a Sketch and Parameters to<br>move the sketch.<br>Offset X:
+
+
+
+
+ ksuAsm2Part
+
+
+ Convert an Assembly (A3) to Part hierarchy
+
+
+
+
+ ksu Convert an Assembly (A3) to Part hierarchy
+
+
+
+
+ ksuImpDXF
+
+
+ Import Legacy DXF
+
+
+
+
+ ksuOpDXF
+
+
+ open Legacy DXF
+
+
+
+
+ ksuOpEzDXF
+
+
+ open ezDXF
+
+
+
+
+ ksuRemoveSuffix
+
+
+ Remove 'custom' Suffix from Labels
+
+
+
+
+ ksuRemoveTimeStamp
+
+
+ Remove TimeStamp from Labels
+
+
+
+
+ ksuTools
+
+
+ ksu Tools
+
+
+
+
+ Activate the main
+KiCad StepUp Tools Dialog
+
+
+
+
+ ksuTools2D2Sketch
+
+
+ 2D to Sketch
+
+
+
+
+ ksu 2D object (or DXF) to Sketch
+
+
+
+
+ ksuTools2DtoFace
+
+
+ 2D to Face
+
+
+
+
+ ksu 2D object (or DXF) to Surface for extruding
+
+
+
+
+ ksuTools3D2D
+
+
+ 3D to 2D
+
+
+
+
+ ksu 3D object to 2D projection
+
+
+
+
+ ksuToolsAddSilks
+
+
+ ksu tools Add Silks from KiCad exported DXF
+NB: it could be a very intensive loading!
+
+
+
+
+ ksuToolsAddToTree
+
+
+ Add to Tree
+
+
+
+
+ ksu Add Object(s) to Container Tree
+keeping Placement
+First Selection is the Container
+
+
+
+
+ ksuToolsAddTracks
+
+
+ ksu tools Add Tracks
+NB: it could be a very intensive loading!
+
+
+
+
+ ksuToolsAlignView
+
+
+ AlignView to Face
+
+
+
+
+ ksu AlignView to Face
+
+
+
+
+ ksuToolsAligner
+
+
+ Manipulator tools 'Aligner'
+
+
+
+
+ ksuToolsBsplineNormalize
+
+
+ Geo to Bspline
+
+
+
+
+ ksu Convert Geometry to Bspline for KiCAD format
+
+
+
+
+ ksuToolsCaliper
+
+
+ Manipulator tools 'Caliper'
+
+
+
+
+ ksuToolsCheckSolid
+
+
+ Check Solid property
+
+
+
+
+ ksu Check Solid property
+Toggle suffix
+
+
+
+
+ ksuToolsCollisions
+
+
+ Check Collisions
+
+
+
+
+ ksu Check Collisions and Interferences
+
+
+
+
+ ksuToolsColoredBinder
+
+
+ Colored Binder
+
+
+
+
+ Colored Binder object
+
+
+
+
+ ksuToolsColoredClone
+
+
+ Colored Clone
+
+
+
+
+ Colored Clone object
+
+
+
+
+ ksuToolsComparePositions
+
+
+ tools Compare 3D models Positions
+
+
+
+
+ ksu Compare 3D models Positions
+Data with the Active Document
+[MCAD Synchronize]
+
+
+
+
+ ksuToolsConstrainator
+
+
+ Constrain a Sketch
+
+
+
+
+ ksu Fix & auto Constrain a Sketch
+
+
+
+
+ ksuToolsContour2Poly
+
+
+ ksu tools 'RF PolyLined Sketch'
+Selection's Shapes to PolyLine Sketch
+
+
+
+
+ ksuToolsCopyPlacement
+
+
+ Copy Placement 1st to 2nd
+
+
+
+
+ ksu tools Copy Placement 1st to 2nd
+
+
+
+
+ ksuToolsDeepCopy
+
+
+ PartDN Copy
+
+
+
+
+ ksu PartDN Copy object
+with relative placement
+[flattened model]
+
+
+
+
+ ksuToolsDefeaturingTools
+
+
+ Defeaturing Tools from Defeaturing WorkBench
+
+
+
+
+ ksuToolsDiscretize
+
+
+ Discretize
+
+
+
+
+ ksu Discretize a shape/outline to a Sketch
+
+
+
+
+ ksuToolsEdges2Sketch
+
+
+ Edges to Sketch
+
+
+
+
+ ksu Select coplanar edge(s) or Face(s) or
+a single Vertex of a coplanar outline
+to get a corresponding Sketch
+
+
+
+
+ ksuToolsEditPrefs
+
+
+ Edit Preferences
+
+
+
+
+ ksuToolsExplode
+
+
+ ksu Tools PCB Explode
+Select the top container of a KiCad PCB to exlode it
+
+
+
+
+ ksuToolsExport3DStep
+
+
+ Export 3D to STEP
+
+
+
+
+ ksu Export selected objects to STEP Model
+
+
+
+
+ ksuToolsExportModel
+
+
+ Export 3D Model
+
+
+
+
+ ksu Export 3D Model to KiCad
+
+
+
+
+ ksuToolsExtrude
+
+
+ ksu tools 'Extrude'
+Extrude selection
+
+
+
+
+ ksuToolsFootprintGen
+
+
+ Footprint generator
+
+
+
+
+ ksu Footprint editor and exporter
+
+
+
+
+ ksuToolsGeneratePositions
+
+
+ tools Generate 3D models Positions
+
+
+
+
+ ksu Generate 3D models Positions
+Data for Active Document
+[MCAD Synchronize]
+
+
+
+
+ ksuToolsHighlightToggle
+
+
+ Highlight Toggle
+
+
+
+
+ ksu Selection Highlight Toggle
+
+
+
+
+ ksuToolsImport3DStep
+
+
+ Import 3D STEP
+
+
+
+
+ ksu Import 3D STEP Model
+
+
+
+
+ ksuToolsImportFootprint
+
+
+ Load FootPrint
+
+
+
+
+ ksu Load KiCad PCB FootPrint
+
+
+
+
+ ksuToolsLoadFootprint
+
+
+ Load FootPrint
+
+
+
+
+ ksu Load KiCad PCB FootPrint
+
+
+
+
+ ksuToolsLoopSelection
+
+
+ ksu tools 'LoopSelection'
+Loop selection on a xy outline
+
+
+
+
+ ksuToolsMakeCompound
+
+
+ Make Compound
+
+
+
+
+ ksu Make a Compound of selected objects
+
+
+
+
+ ksuToolsMakeUnion
+
+
+ Make Union
+
+
+
+
+ ksu Make a Union of selected objects
+
+
+
+
+ ksuToolsMergeSketches
+
+
+ Merge Sketches
+
+
+
+
+ ksuToolsMoveSketch
+
+
+ Move Sketch
+
+
+
+
+ ksu Move 2D Sketch
+
+
+
+
+ ksuToolsMover
+
+
+ Manipulator tools 'Mover'
+
+
+
+
+ ksuToolsOffset2D
+
+
+ Offset 2D
+
+
+
+
+ ksu Offset 2D object
+
+
+
+
+ ksuToolsOpenBoard
+
+
+ Load Board
+
+
+
+
+ ksu Load KiCad PCB Board and Parts
+
+
+
+
+ ksuToolsPullMoved
+
+
+ Pull 3D model(s) placement from PCB
+
+
+
+
+ ksu Pull 3D model(s) placement from PCB
+
+
+
+
+ ksuToolsPullPCB
+
+
+ Pull Sketch from PCB
+
+
+
+
+ ksu Pull Sketch from PCB Edge
+
+
+
+
+ ksuToolsPushMoved
+
+
+ Push 3D moved model(s) to PCB
+
+
+
+
+ ksu Push 3D moved model(s) to PCB
+
+
+
+
+ ksuToolsPushPCB
+
+
+ Push Sketch to PCB
+
+
+
+
+ ksu Push Sketch to PCB Edge
+
+
+
+
+ ksuToolsReLinkBinder
+
+
+ Relink Binder
+
+
+
+
+ Relink Binder object Select Binder and an Object to be linked
+
+
+
+
+ ksuToolsRemoveFromTree
+
+
+ Remove from Tree
+
+
+
+
+ ksu Remove Object(s) from Container Tree
+keeping Placement
+First Selection is the Container
+
+
+
+
+ ksuToolsRemoveSubTree
+
+
+ Remove Sub Tree
+
+
+
+
+ ksuToolsResetPartPlacement
+
+
+ Reset Part Placement
+
+
+
+
+ ksu Reset Placement for all Part containers in selection
+
+
+
+
+ ksuToolsResetPlacement
+
+
+ Reset Placement
+
+
+
+
+ ksu Reset Placement for a Shape
+
+
+
+
+ ksuToolsSimpleCopy
+
+
+ Simple Copy
+
+
+
+
+ ksu Simple Copy object
+
+
+
+
+ ksuToolsSimplifySketck
+
+
+ Simplify Sketch
+
+
+
+
+ ksu Simplifying Sketch to Arcs and Lines
+
+
+
+
+ ksuToolsSkValidate
+
+
+ ksu tools 'Sketcher Validate'
+Validate selected Sketch
+
+
+
+
+ ksuToolsStepImportModeComp
+
+
+ disable Simplified STEP Import Mode
+
+
+
+
+ ksu tools disable Simplified STEP Import Mode
+
+
+
+
+ ksuToolsStepImportModeSTD
+
+
+ disable Full STEP Import Mode
+
+
+
+
+ ksu tools disable Full STEP Import Mode
+
+
+
+
+ ksuToolsSync3DModels
+
+
+ Sync 3D model(s) Ref & TimeStamps with PCB
+
+
+
+
+ ksu Sync 3D model(s) Ref & TimeStamps
+of the Selected 3D model with KiCad PCB
+
+
+
+
+ ksuToolsToggleTreeView
+
+
+ Expand/Collapse Tree View
+
+
+
+
+ ksu tools Expand/Collapse Tree View
+
+
+
+
+ ksuToolsTransparencyToggle
+
+
+ Transparency Toggle
+
+
+
+
+ ksu Selection Transparency Toggle
+
+
+
+
+ ksuToolsTurnTable
+
+
+ TurnTable
+
+
+
+
+ ksu TurnTable
+
+
+
+
+ ksuToolsUnion
+
+
+ Fuse objects
+
+
+
+
+ Make Union (Fuse) objects
+
+
+
+
+ ksuToolsVisibilityToggle
+
+
+ Visibility Toggle
+
+
+
+
+ ksu Selection Visibility Toggle
+
+
+
+
diff --git a/translations/ksu_es-ES.qm b/translations/ksu_es-ES.qm
new file mode 100644
index 0000000..730e47d
Binary files /dev/null and b/translations/ksu_es-ES.qm differ
diff --git a/translations/ksu_es-ES.ts b/translations/ksu_es-ES.ts
new file mode 100644
index 0000000..b7a135f
--- /dev/null
+++ b/translations/ksu_es-ES.ts
@@ -0,0 +1,2287 @@
+
+
+
+
+ CDialog
+
+
+ Dialog
+ Diálogo
+
+
+
+ explode_dwg
+
+
+ Explode 3D PCB
+ kicad StepUp 3D tools
+ Explosionar PCB 3D
+
+
+
+ 1.0
+ 1.0
+
+
+
+ kSUGui::DlgSettingskStepUp
+
+
+
+
+ General
+ General
+
+
+
+
+ 3D Prefix working folder
+ Carpeta de trabajo de prefijo 3D
+
+
+
+
+ <html><head/><body><p>your <span style=" font-weight:600;">KISYS3DMOD</span> path</p><p>or 3D model <span style=" font-weight:600;">main prefix path</span></p></body></html>
+ <html><head/><body><p>tu <span style=" font-weight:600;">ruta</span> KISYS3DMOD</p><p>o prefijo de ruta principal <span style=" font-weight:600;">de modelos 3D</span></p></body></html>
+
+
+
+
+ main 3D folder location 'KISYS3DMOD'
+or 'KICAD6_3DMODEL_DIR'
+ ubicación de la carpeta principal 3D 'KISYS3DMOD'
+ o 'KICAD6_3DMODEL_DIR'
+
+
+
+
+ <html><head/><body><p>main 3D folder location</p><p><span style=" font-weight:600;">'KISYS3DMOD'</span></p></body></html>
+ <html><head/><body><p>ubicación de la carpeta principal 3D</p><p><span style=" font-weight:600;">'KISYS3DMOD'</span></p></body></html>
+
+
+
+
+
+
+
+
+ <html><head/><body><p>your <span style=" font-weight:600;">ALIAS</span> 3D</p><p>model prefix path</p></body></html>
+ <html><head/><body><p>tu <span style=" font-weight:600;">ALIAS</span> 3D</p><p>ruta del prefijo del modelo</p></body></html>
+
+
+
+
+ secondary 3D folder loc
+'ALT2 3DMOD'
+ carpeta secundaria 3D loc
+ 'ALT2 3DMOD'
+
+
+
+
+
+
+
+
+ <html><head/><body><p>secondary 3D folder location</p><p><span style=" font-weight:600;">'ALT3DMOD'</span></p></body></html>
+ <html><head/><body><p>ubicación de carpeta 3D secundaria</p><p><span style=" font-weight:600;">'ALT3DMOD'</span></p></body></html>
+
+
+
+
+ PCB settings
+ Ajustes de PCB
+
+
+
+ PCBs color.
+ Color de PCB
+
+
+
+
+
+
+
+
+ PCB color
+ Color de PCB
+
+
+
+ LightGreen
+ Verde claro
+
+
+
+
+ Green
+ Verde
+
+
+
+
+ Blue
+ Azul
+
+
+
+
+ Red
+ Rojo
+
+
+
+
+ Purple
+ Púrpura
+
+
+
+
+ DarkGreen
+ Verde oscuro
+
+
+
+
+ DarkBlue
+ Azul oscuro
+
+
+
+
+ LightBlue
+ Azul claro
+
+
+
+
+ Yellow
+ Amarillo
+
+
+
+
+ Black
+ Negro
+
+
+
+
+ White
+ Blanco
+
+
+
+
+
+
+ PCB Reference Placement in mechanical environment
+ Colocación de referencia de PCB en entorno mecánico
+
+
+
+
+ PCB Placement
+ Colocación de PCB
+
+
+
+
+ Grid Origin
+ Origen de cuadrícula
+
+
+
+
+ Aux Origin
+ Origen auxiliar
+
+
+
+
+ Pcb Center (approx)
+ Centro de PCB (aproximado)
+
+
+
+
+
+
+ Constraints to be added to PCB Sketch
+ Restricciones que se agregarán al croquis de PCB
+
+
+
+
+ PCB Sketch mode (constraints)
+ Modo de croquis de PCB (restricciones)
+
+
+
+
+ Coincident
+ Coincidente
+
+
+
+
+ V&H, Coincident
+ V y H, coincidente
+
+
+
+
+ Full
+ Completo
+
+
+
+
+ None
+ Ninguno
+
+
+
+
+ Enable/Disable Virtual 3D
+(mechanical) models
+ Habilitar/deshabilitar modelos
+(mecánicos) 3D virtuales
+
+
+
+
+ Virtual 3D Models loading
+ Cargando modelos virtuales 3D
+
+
+
+
+
+
+ minimum Drill size applied to PCB
+'0.0' -> all drills are loaded
+'-1' -> all drills and vias are loaded
+ Tamaño mínimo de perforación aplicado a PCB
+'0.0' -> todos los taladros son cargados
+'-1' -> todos los taladros y vías son cargados
+
+
+
+
+ minimum Drill size applied to PCB
+ Tamaño mínimo de perforación aplicado a PCB
+
+
+
+
+ 0.0
+ 0.0
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Bounding Box LIST:</span><br/>configure which 3D models will be converted to Bounding Box<br/><span style=" font-weight:600;">Examples:</span><br/><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> all models will be converted to bounding boxes</span><br/><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> these two models will NOT be converted to BBox</span><br/><span style=" font-style:italic;">(list of 3D model's names separated by a semicolon)</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">Lista de caja delimitadora:</span><br/>configurar qué modelos 3D se convertirán en caja delimitadora<br/><span style=" font-weight:600;">Ejemplos:</span><br/><span style=" font-weight:600;">TODO</span><span style=" font-style:italic;">-> todos los modelos se convertirán en cajas delimitadoras</span><br/><span style=" font-weight:600;">LISTA</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> estos dos modelos NO se convertirán a caja delimitadora</span><br/><span style=" font-style:italic;">(lista de nombres de modelos 3D separados por punto y coma)</span></p></body></html>
+
+
+
+
+ Bounding Boxes
+ Cajas delimitadoras
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Black List:</span><br/>put here your model names that you don't want to load (e.g. smallest ones)<br/>separated by a semicolon.<br/>DNP or DNF attribute.<br/>volume and height are also configurable.<br/>(volume=1 means all models with a volume < 1mm3 will not be included)<br/>(height=1 means all models with a height < 1mm will not be included)<br/><br/><span style=" font-weight:600;">Examples:</span><br/>DNP;R_0402_1005Metric;C_0402_1005Metric;<br/>height=1.0<br/>volume=1.0<br/><span style=" font-weight:600;">An empty list means all the models will be parsed.</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">Black List:</span><br/>put here your model names that you don't want to load (e.g. smallest ones)<br/>separated by a semicolon.<br/>DNP or DNF attribute.<br/>volume and height are also configurable.<br/>(volume=1 means all models with a volume < 1mm3 will not be included)<br/>(height=1 means all models with a height < 1mm will not be included)<br/><br/><span style=" font-weight:600;">Examples:</span><br/>DNP;R_0402_1005Metric;C_0402_1005Metric;<br/>height=1.0<br/>volume=1.0<br/><span style=" font-weight:600;">Una lista vacia significa que todos los modelos seran analizados.</span></p></body></html>
+
+
+
+
+ Black List
+ Lista negra
+
+
+
+
+
+
+ minimum Edge Tolerance applied to PCB
+default '0.01mm'
+ Tolerancia de borde mínima aplicada a PCB
+ predeterminado '0.01 mm'
+
+
+
+
+ minimum edge tolerance
+ Tolerancia de borde mínima
+
+
+
+
+ 0.01
+ 0.01
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">White List:</span><br/>put here your model names that you must load (e.g. smallest ones)<br/>separated by a semicolon.<br/><br/><span style=" font-weight:600;">Examples:</span><br/>
+LED_D5.0mm_IRBlack;USB_Mini-B_Lumberg_2486_01_Horizontal;<br/><span style=" font-weight:600;">An empty list means all the models will behave as usual.</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">Lista blanca:</span><br/>Coloca aqui los nombre de tus modelos que debes cargar (e.j. los mas pequeños)<br/>separados por un punto y coma.<br/><br/><span style=" font-weight:600;">Examples:</span><br/>
+LED_D5.0mm_IRBlack;USB_Mini-B_Lumberg_2486_01_Horizontal;<br/><span style=" font-weight:600;">Una lista vacia significa que todos los modelos se comportaran de forma usual.</span></p></body></html>
+
+
+
+ White List
+ Lista blanca
+
+
+
+
+ Import/Export settings
+ Ajustes para importar/exportar
+
+
+
+
+ <html><head/><body><p>Enable/Disable <span style=" font-weight:600;">fusion (union)</span> of all 3D models.</p><p>Be careful ... fusion can be heavy or generate FC crash with a lot of objects.</p><p>Please consider to use bbox or blacklist small objects</p></body></html>
+ <html><head/><body><p>Habilitar/Deshabilitar <span style=" font-weight:600;">fusion (union)</span> de todos los modelos 3D.</p><p>Tener cuidado ... la fusion puede ser pesada o generar colapso de FreCAD con muchos objetos.</p><p>Por favor considere el uso de bbox o lista negra para objetos pequeños </p></body></html>
+
+
+
+
+ Make a Union of 3D models
+ Crear una unión de modelos 3D
+
+
+
+
+ <html><head/><body><p>Directly <span style=" font-weight:600;">Export STEP</span> after Loading</p></body></html>
+ <html><head/><body><p>Directly <span style=" font-weight:600;">Exportar a STEP</span> despues de cargar</p></body></html>
+
+
+
+
+ Directly Export STEP after Loading
+ Exportar STEP directamente después de cargar
+
+
+
+ STEP export mode.
+ Modo de exportación STEP.
+
+
+
+
+
+
+
+
+ STEP export mode
+ Modo de exportación STEP
+
+
+
+
+
+
+ Hierarchy
+ Jerarquía
+
+
+
+
+ Flat
+ Plano
+
+
+
+
+ One Container
+ Un contenedor
+
+
+
+ 3D Loading mode.
+ Modo de carga 3D.
+
+
+
+
+
+
+ 3D Loading mode
+ Modo de carga 3D
+
+
+
+
+ 3D_loading_mode
+Allowing or not Loading Multi Parts objects
+ Modo de carga 3D
+Permitir o no cargar objetos Multi Partes
+
+
+
+
+ Simplified
+ Simplificado
+
+
+
+
+ NotMultiParts
+ No Multi Partes
+
+
+
+
+ Standard
+ Estándar
+
+
+
+ Assembly3 Links allowed.
+ Enlaces de Assembly3 permitidos.
+
+
+
+
+
+
+ Assembly3 Links allowed
+ Enlaces de Assembly3 permitidos
+
+
+
+ Enables Materials for VRML exporting.
+ Habilita la exportación de materiales para VRML.
+
+
+
+
+
+
+ Enable Materials for VRML exporting
+ Habilita la exportación de materiales para VRML
+
+
+
+ Start Turntable after loading.
+ Iniciar Turntable después de cargar.
+
+
+
+
+
+
+ Start Turntable after loading
+ Iniciar Turntable después de cargar
+
+
+
+ Assembly3 LinkGroups allowed.
+ Enlaces de grupo de Assembly3 permitidos.
+
+
+
+
+
+
+ Assembly3 LinkGroups allowed
+ Enlaces de grupo de Assembly3 permitidos
+
+
+
+ Enables compressed STEP file ('.stpZ') generation exporting.
+ Habilita la exportación de generación de archivos STEP comprimidos ('.stpZ').
+
+
+
+
+
+ Enable compressed STEP file ('.stpZ') generation exporting
+ Habilita la exportación de generación de archivos STEP comprimidos ('.stpZ')
+
+
+
+ Enables compressed VRML file ('.wrz') generation exporting.
+ Habilita la exportación de generación de archivos VRML comprimidos ('.wrz').
+
+
+
+
+
+ Enable compressed VRML file ('.wrz') generation exporting
+ Habilita la exportación de generación de archivos VRML comprimidos ('.wrz')
+
+
+
+ Displays STEP import settings warning.
+ Muestra la advertencia de configuración de importación STEP.
+
+
+
+
+
+
+ Display STEP import settings warning
+ Muestra la advertencia de configuración de importación STEP
+
+
+
+
+ <html><head/><body><p>Apply Transparency for 'Glass' Materials:</p><p>Force Transparency to STEP model if 'Glass' is found in '.wrl' model</p></body></html>
+ <html><head/><body><p>Aplicar transparencia para Materiales de 'Cristal:'</p><p>Forza transparencia a modelo STEP si 'Cristal' es encontrado en el modelo'.wrl'</p></body></html>
+
+
+
+
+ Apply Transparency for 'Glass' Materials
+ Aplicar transparencia para materiales 'de cristal'
+
+
+
+
+ <html><head/><body><p>Apply Transparency for 'Led' Materials:</p><p>Force Transparency to STEP model if 'Led' is found in '.wrl' model</p></body></html>
+ <html><head/><body><p>Aplicar transparencia para Materiales de 'LED:'</p><p>Forza transparencia a modelo STEP si 'LED' es encontrado en el modelo'.wrl'</p></body></html>
+
+
+
+
+ Apply Transparency for 'Led' Materials
+ Aplicar transparencia para materiales 'LED'
+
+
+
+ <html><head/><body><p>Skip importing pcb zone(s)</p></body></html>
+ <html><head/><body><p>Omitir importar zona(s) de PCB</p></body></html>
+
+
+
+ skpZone
+ Saltar zona
+
+
+
+ <html><head/><body><p>Skip importing pcb tracks and vias</p></body></html>
+ <html><head/><body><p>Saltar la importación de pistas y vías de PCB</p></body></html>
+
+
+
+ skpTracks
+ Saltar pistas
+
+
+
+ <html><head/><body><p>Skip importing pcb pads</p></body></html>
+ <html><head/><body><p>Saltar la importación de pads de PCB</p></body></html>
+
+
+
+ skpPads
+ Saltar pads
+
+
+
+
+ third 3D folder loc
+'ALT3 3DMOD'
+ ubicación de tercera carpeta de 3D'ALT3 3DMOD'
+
+
+
+
+ fourth 3D folder loc
+'ALT4 3DMOD'
+ ubicación de cuarta carpeta de 3D'ALT4 3DMOD'
+
+
+
+ <html><head/><body><p>Select to NOT use the native dialog box in Open/Save files<br/>(suggested for Snap or FlatPack)</p></body></html>
+ <html><head/><body><p>Seleccionar para NO utilizar la caja de dialogo en Abrir/Guardar archivos<br/>(Sugerido para Snap o FlatPack)</p></body></html>
+
+
+
+ don't use native dialog in Open/Save files (for Snap or FlatPack)
+ No usar el diálogo nativo en Abrir/Guardar archivos (para Snap o FlatPack)
+
+
+
+
+ Mechanical Check
+ Comprobación mecánica
+
+
+
+ Generates Sketches for differences on PCB Edge.
+ Genera croquis para diferencias en el borde de la PCB.
+
+
+
+
+
+
+ Generate Sketches for differences on PCB Edge
+ Generar croquis para diferencias en el borde de la PCB.
+
+
+
+ Working directory ccx tools
+ Directorio de trabajo herramientas ccx
+
+
+
+
+ Use custom directory
+ Usar directorio personalizado
+
+
+
+ Working directory general FEM solver frame work
+ Directorio de trabajo general para el framework del solucionador FEM
+
+
+
+ Temporary directories
+ Directorios temporales
+
+
+
+ Let FreeCAD manage (create, delete) the working directories for all solver. Use temporary directories.
+ Permitir que FreeCAD administre (crear, eliminar) el directorio funcionando para todos los solucionadores. Usar directorios temporales.
+
+
+
+ Beside .fcstd file
+ Junto al archivo .FCStd
+
+
+
+ Create a directory in the same folder in which the fcstd file of the document is located. Use Subfolder for each solver (e.g. for a file ./mydoc.fcstd and a solver with the label Elmer002 use ./mydoc/Elmer002).
+ Crear un directorio en la misma carpeta en la que se encuentra el archivo FCStd del documento. Utilice la subcarpeta para cada solucionador (por ejemplo, para un archivo ./mydoc.FCStd y un solucionador con la etiqueta Elmer002 use ./mydoc/Elmer002).
+
+
+
+ Use directory set below. Create own subdirectory for every solver. Name directory after the solver label prefixed with the document name.
+ Utilice el directorio establecido a continuación. Cree su propio subdirectorio para cada solver. Directorio de nombres después de la etiqueta del solucionador con el nombre del documento.
+
+
+
+ Path:
+ Ruta:
+
+
+
+ Mesh
+ Malla
+
+
+
+ Create mesh groups for analysis reference shapes
+ Crea un grupo de mallas para formas de analisis de referencia
+
+
+
+
+ choice#1
+ opción #1
+
+
+
+ choice#2
+ opción #2
+
+
+
+ choice#3
+ opción #3
+
+
+
+ Results
+ Resultados
+
+
+
+ Keep results on calculation re-run
+ Mantener resultados al re-ejecutar el cálculo
+
+
+
+ Restore result dialog settings
+ Restaurar la configuración del diálogo de resultados
+
+
+
+ Hide constraints when open result dialog
+ Ocultar restricciones al abrir el diálogo de resultados
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Bounding Box LIST:</span></p><p>configure which 3D models will be converted to Bounding Box</p><p><span style=" font-weight:600;">Examples:</span></p><p><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> all models will be converted to bounding boxes</span></p><p><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> these two models will NOT be converted to BBox</span></p><p><span style=" font-style:italic;">(list of 3D model's names separated by a semicolon)</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">Lista de cajas delimitadoras:</span></p><p>configure which 3D models will be converted to Bounding Box</p><p><span style=" font-weight:600;">Examples:</span></p><p><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> Todos los modelos seran convertidos a cajas delimitadoras</span></p><p><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> estos dos modelos no seran convertidos a BBox</span></p><p><span style=" font-style:italic;">(lista de modelo's 3D nombres separatos por un punto y coma)</span></p></body></html>
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Black List:</span></p><p>put here your model names that you don't want to load (e.g. smallest ones)</p><p>separated by a semicolon.</p><p>volume and height are also configurable.</p><p>(volume=1 means all models with a volume < 1mm3 will not be included)</p><p>(height=1 means all models with a height < 1mm will not be included)</p><p><br/><span style=" font-weight:600;">Examples:</span></p><p>r_0603;r_0402;c_0402;c_0603</p><p>height=1.0</p><p>volume=1.0</p><p><span style=" font-weight:600;">An empty list means all the models will be parsed.</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">Lista negra:</span></p><p>coloca aqui los nombres de los modelos que no quieres cargar(e.j. los mas pequeños)</p><p>separados por punto y coma.</p><p>volumen y altura son tambien configurables.</p><p>(volume=1 significa que todos los modelos con un volumen < 1mm3 no seran incluidos)</p><p>(height=1 means all models with a height < 1mm will not be included)</p><p><br/><span style=" font-weight:600;">Examples:</span></p><p>r_0603;r_0402;c_0402;c_0603</p><p>height=1.0</p><p>volume=1.0</p><p><span style=" font-weight:600;">una lista vacia significa que todos los modelos seran analizados.</span></p></body></html>
+
+
+
+ Arcs2Circles
+
+
+ Convert Arcs to Circles in Sketch
+ Convertir arcos a círculos en croquis
+
+
+
+ Close
+
+
+ <b>Do you want to quit?</b> <i>Have you saved your STEP artwork?</i><br>
+
+
+
+
+ Close
+
+
+
+
+ Create_BoundBox
+
+
+ Create BoundBox of the Selected Object
+ Crea una caja delimitadora del objeto seleccionado
+
+
+
+ Help
+
+
+ <b>Kicad StepUp</b> is a tool set to easily <b>collaborate between kicad pcb EDA</b> (board and 3D parts) as STEP models <b>and FreeCAD MCAD</b> modeler.<br>
+</font>
+ <b>Kicad StepUp</b> es un conjunto herramientas que de forma sencilla <b>colabora entre kicad pcb EDA</b> (tarjetas y piezas 3D) como modelo STEP <b>y FreeCAD MCAD</b> modelador.<br>
+</font>
+
+
+
+ The artwork can be used for MCAD interchange and collaboration, and for enclosure design.<br>
+ La obra de arte puede ser utilizada para intercambio y colaboración en MCAD y para diseño de recintos
+
+
+
+ The 3D visualization of components on board assemblies in kicad 3dviewer, will be the same in your mechanical software, because of the STEP interchange format.<br>It is also possible to <b>Update a pcb Edge from a FC Sketcher.</b><br>
+ La visualización 3D de los componentes en el ensamblaje de la placa en KiCad 3DViewer, será la misma en su software mecánico, debido al formato de intercambio STEP. <br>También es posible <b>actualizar un borde de PCB desde un croquis de Sketcher FC. </b><br>
+
+
+
+ <b>StepUp</b> can also be used <b>to align 3D model to kicad footprint</b>.<br>
+The artwork can be used for MCAD interchange and collaboration, and for enclosure design.<br>
+The 3D visualization of components on board assemblies in kicad 3dviewer, will be the same in your mechanical software,
+because of the STEP interchange format.<br>
+It is also possible to <b>Update a pcb Edge from a FC Sketcher.</b><br>
+<b>configuration options:</b><br>Configuration options are located in the preferences system of FreeCAD, which is located in the Edit menu -> Preferences.<br>
+
+
+
+
+
+ starter Guide:<br><a href='{}{}demo{}{}{}{}' target='_blank'>{}</a><br>
+ Guía de inicio:<br><a href='{}{}demo{}{}{}{}' target='_blank'>{}</a><br>
+
+
+
+ starter Guide:<br><a href='{}{}demo{}{}' target='_blank'>{}</a><br>
+ Guía de inicio:<br><a href='{}{}demo{}{}' target='_blank'>{}</a><br>
+
+
+
+ KiCadStepUpWB
+
+
+ KiCadStepUp
+ KiCadStepUp
+
+
+
+ KiCadStepUp workbench
+ Entorno de trabajo KiCadStepUp
+
+
+
+ Menu
+
+
+ ksu PushPull
+ KSU PushPull
+
+
+
+
+ ksu Tools
+ KSU Herramientas
+
+
+
+ Demo
+ Demostración
+
+
+
+ PushPCB
+
+
+ <b>Edge editing NOT supported on FC0.15!</b><br>please upgrade your FC release
+
+
+
+
+ Edge editing NOT supported on FC0.15!
+
+
+
+
+ getting camera view
+
+
+
+
+ forcing rotAngle to 0
+
+
+
+
+ evaluate to recompute
+
+
+
+
+ Saving to an empty KiCad pcb file
+
+
+
+
+ Cancel
+
+
+
+
+ Restoring cam view
+
+
+
+
+
+ Select one Sketch to be pushed to kicad board!
+
+
+
+
+ Restore_Transparency
+
+
+ Restore Transparency to Active Document Objects
+ Restaurar transparencia de objetos del documento activo
+
+
+
+ Save
+
+
+ please <b>save</b> your job file before exporting.
+
+
+
+
+ Please <b>save</b> your job file before exporting.
+
+
+
+
+
+ Info ...
+
+
+
+
+
+ Save
+
+
+
+
+ Say
+
+
+ routine Scale to VRML 1/2.54
+
+
+
+
+ Put on Axe XYZ !
+
+
+
+
+ Select <b>ONE single part</b> object !<br>
+suggestion for multi-part:<br>
+ <b>Part Boolean Union (recommended)</b><br>
+or<br>
+ <i>Part Make compound (alternative choice)</i>
+
+
+
+
+ Select <b>a Compound</b> or <br>
+<b>a Part Design group</b><br>
+or <b>more than one Part</b> object !<br>
+ Selecciona <b>un compuesto</b> o <br>
+<b>un grupo de Part Design</b><br>
+o <b>mas de un objeto pieza!</b><br>
+
+
+
+
+ Error in selection
+ Error en selección
+
+
+
+ Warning ...
+ Advertencia ...
+
+
+
+ ERROR! ...
+ ERROR! ...
+
+
+
+ Info ...
+ Informacion ...
+
+
+
+
+
+
+
+
+
+ Select ONE single part object !
+ Selecciona UN objecto simple pieza !
+
+
+
+ Select an object !
+ Selecciona un objecto !
+
+
+
+ Toolbar
+
+
+ ksu Tools
+ Herramientas ksu
+
+
+
+ ksu Sketching
+
+
+
+ ksu PushPull
+ ksu EnviarCargar
+
+
+
+
+ ksu Design Tools
+ KSU Herramientas de diseño
+
+
+
+ ksu Show
+ KSU Mostrar
+
+
+
+ ksu Helpers
+ KSU Ayudantes
+
+
+
+ Ui_CDialog
+
+
+ Select a Sketch and Parameters
+to constraint the sketch
+NB the Sketch will be modified!
+ Seleccione un croquis y parámetros
+para restringir el croquis
+Nota: ¡el croquis será modificado!
+
+
+
+ <b>Select a Sketch and Parameters to<br>constrain the sketch.<br>NB the Sketch will be modified!</b>
+ <b>Seleccione un croquis y parámetros para restringir el croquis.<br>Nota: ¡el croquis será modificado! </b>
+
+
+
+ Constraints
+ Restricciones
+
+
+
+ Lock Coincident, Horizontal
+and Vertical
+ Bloquear coincidencia, horizontal
+y vertical
+
+
+
+ Lock Coincident
+ Bloquear coincidencia
+
+
+
+ Tolerance
+ Tolerancia
+
+
+
+ tolerance in mm
+ tolerancia en mm
+
+
+
+ Tolerance on Constraints
+ Tolerancia en restricciones
+
+
+
+ remove duplicated geometries
+ eliminar geometrías duplicadas
+
+
+
+ Ui_Dialog
+
+
+ Material Properties
+ Propiedades de material
+
+
+
+ Materials
+ Materiales
+
+
+
+ Original
+ Original
+
+
+
+ Shape Color
+ Color de forma
+
+
+
+ Diffuse Color
+ Color difuso
+
+
+
+ New
+ Nuevo
+
+
+
+ NB: set Material will unmatch colors between wrl and STEP
+ Nota: el material establecido no coincidirá con los colores entre wrl y STEP
+
+
+
+ Ui_DockWidget
+
+
+ ksu config ini file
+location
+ ksu ubicación de archivo de configuración INI
+
+
+
+ KiCad StepUp tools
+ Herramientas de KiCad StepUp
+
+
+
+ dock left
+ Incrustar en la izquierda
+
+
+
+ un-dock (floating)
+ Desincrustar (flotante)
+
+
+
+ minimize
+ Minimizar
+
+
+
+ dock right
+ Incrustar en la derecha
+
+
+
+ close
+ Cerrar
+
+
+
+
+
+ translate (+/- mm)
+ Trasladar (+/- mm)
+
+
+
+ translate X (+/- mm)
+ Trasladar X (+/- mm)
+
+
+
+ translate Y (+/- mm)
+ Trasladar Y (+/- mm)
+
+
+
+ translate Z (+/- mm)
+ Trasladar Z (+/- mm)
+
+
+
+ put on X
+ Poner en X
+
+
+
+ put on Y
+ Poner en Y
+
+
+
+ put on Z
+ Poner en Z
+
+
+
+
+
+ rotation angle (+/- deg)
+ Ángulo de rotación (+/- °)
+
+
+
+ rotate X (+/- deg)
+ Rotar X (+/- °)
+
+
+
+ rotate Y (+/- deg)
+ Rotar Y (+/- °)
+
+
+
+ rotate Z (+/- deg)
+ Rotar Z (+/- °)
+
+
+
+ center X
+ Centrar X
+
+
+
+ center Y
+ Centrar Y
+
+
+
+ center Z
+ Centrar Z
+
+
+
+ make Compound of Parts
+ Crear compuesto de partes
+
+
+
+ Load KiCad
+Board .kicad_pcb
+ Cargar placa de
+KiCad .kicad_pcb
+
+
+
+ export to KiCad:
+STEP & scaled VRML 1/2.54
+ Exportar a KiCad:
+STEP y VRML escalado 1/2.54
+
+
+
+ enable loading
+virtual & mechanical
+models
+ Habilitar carga
+virtual y modelos
+mecánicos
+
+
+
+ use wrl
+material
+ Utilizar
+material wrl
+
+
+
+ load KiCad footprint
+'kicad_mod'
+ Cargar huella de KiCad
+'kicad_mod'
+
+
+
+ export STEP Board
+and Parts after loading
+ Exportar placa STEP
+y partes despúes de la carga
+
+
+
+ make Union of Parts
+ Hacer unión de partes
+
+
+
+ import STEP
+3D model
+ Importar STEP
+modelo 3D
+
+
+
+ export selected objects to STEP
+ Exportar objetos seleccionados a STEP
+
+
+
+ create reference Axis
+ Crear eje de referencia
+
+
+
+ Help & starting Guide
+ Ayuda y guía de comienzo
+
+
+
+ view Config File content
+ Ver contenido de archivo de configuración
+
+
+
+ push PCB Edge to KiCad
+from Sketcher to pcbnew
+ Envia arista de PCB a KiCad
+from Sketcher to pcbnew
+
+
+
+ collisions result status
+ estado del resultado de colisiones
+
+
+
+ NO collisions found
+ NO se encontraron colisiones
+
+
+
+
+ check Collisions
+tolerance 1e-06
+ Comprobar colisiones
+tolerancia 1e-06
+
+
+
+
+ collisions FOUND!
+ ¡colisiones ENCONTRADAS!
+
+
+
+ ksu config ini file
+content
+ KSU contenido de archivo
+de configuración ini
+
+
+
+
+ Help Start Guide
+ Guía de inicio de ayuda
+
+
+
+ Ui_LayerSelection
+
+
+ open in new FreeCAD document
+ Abrir en un nuevo documento de FreeCAD
+
+
+
+ open in new document
+ Abrir en nuevo documento
+
+
+
+ <html><head/><body><p>replace PCB in current document</p><p><span style=" font-weight:600; color:#aa0000;">N.B.</span> Sketch constrains will be deleted!</p></body></html>
+ <html><head/><body><p>reemplazar PCB en el documento actual</p><p><span style=" font-weight:600; color:#aa0000;">Nota:</span> ¡Se eliminarán las restricciones del croquis!</p></body></html>
+
+
+
+ replace PCB and Sketch in current document
+ Remplaza PCB y Croquis en el documento actual
+
+
+
+ <html><head/><body><p>keep Sketch in current document</p><p><span style=" font-weight:600; color:#aa0000;">N.B.</span> this option will keep Sketch & constrains but replace the PCB</p><p>This could lead to a unsynced Sketch feature</p></body></html>
+ <html><head/><body><p>Mantiene croquis en el documento actual</p><p><span style=" font-weight:600; color:#aa0000;">N.B.</span> Esta opcion mantendra las restricciones del croquis & pero remplazara la PCB</p><p>Esto podria conducir a caracteristicas del croquis desincronizadas</p></body></html>
+
+
+
+ replace PCB and keep Sketch in curr. doc
+ Remplaza PCB y mantiene croquis en documento actual
+
+
+
+ Ui_LayerSelectionOut
+
+
+ Line Width:
+ Grosor de línea:
+
+
+
+ Line width for drawings
+ Ancho de línea para dibujos
+
+
+
+ Ui_Offset_value
+
+
+ Offset value
+ Valor de desplazamiento
+
+
+
+ Offset [+/- mm]:
+ Desplazamiento [+/- mm]:
+
+
+
+ Offset value [+/- mm]
+ Valor de desplazamiento [+/- mm]
+
+
+
+ Arc or Intersection Offset method
+ Metodo de arco o interseccion
+
+
+
+ Arc
+ Arco
+
+
+
+ Offset Y [mm]:
+ Desplazamiento Y [mm]:
+
+
+
+ Offset Y value [+/- mm]
+ Valor de desplazamiento Y [+/- mm]
+
+
+
+ approximateCenter
+
+
+ Create Center of Circle through 3 Vertices or Select two vertices to create a mid point or Select a Shape to create a center point
+ Crear centro de círculo a través de 3 vértices o seleccionar 2 vértices para crear un punto medio o seleccionar una forma para crear un punto central
+
+
+
+ Create Center of Circle through 3 Vertices
+ Crea un centro de circulo a travez de 3 vertices
+
+
+
+ checkSolidExpSTEP
+
+
+ Check if the selected part would be
+exported to STEP as a single solid
+ Comprobar si la parte seleccionada será
+exportada a STEP como un único sólido
+
+
+
+ ksu
+
+
+ PolyLine Contour generated<b>For PolyLine Pads, please add 'circles' inside each closed polyline</b><br>
+ Contorno de polilinea generada<b>For PolyLine Pads, please add 'circles' inside each closed polyline</b><br>
+
+
+
+ Select a Sketch and Parameters to<br>move the sketch.<br>Offset X:
+ Seleccionar un croquis y parámetros para <br>mover el croquis.<br>Desplazamiento X:
+
+
+
+ ksuAsm2Part
+
+
+ Convert an Assembly (A3) to Part hierarchy
+ Convertir un ensamblaje (de A3) a jerarquía de parte
+
+
+
+ ksu Convert an Assembly (A3) to Part hierarchy
+ KSU Convertir un ensamblaje (de A3) a jerarquía de parte
+
+
+
+ ksuImpDXF
+
+
+ Import Legacy DXF
+ Importar DXF heredado
+
+
+
+ ksuOpDXF
+
+
+ open Legacy DXF
+ Abrir DXF heredado
+
+
+
+ ksuOpEzDXF
+
+
+ open ezDXF
+ Abrir ezDXF
+
+
+
+ ksuRemoveSuffix
+
+
+ Remove 'custom' Suffix from Labels
+ Elimina sufijo 'custom' de las etiquetas
+
+
+
+ ksuRemoveTimeStamp
+
+
+ Remove TimeStamp from Labels
+ Elimina marcas de tiempo de las etiquetas
+
+
+
+ ksuTools
+
+
+ ksu Tools
+ KSU Herramientas
+
+
+
+ Activate the main
+KiCad StepUp Tools Dialog
+ Activar el diálogo de herramientas
+principal de KiCad StepUp
+
+
+
+ ksuTools2D2Sketch
+
+
+ 2D to Sketch
+ 2D a croquis
+
+
+
+ ksu 2D object (or DXF) to Sketch
+ KSU Objeto 2D (o DXF) a croquis
+
+
+
+ ksuTools2DtoFace
+
+
+ 2D to Face
+ 2D a cara
+
+
+
+ ksu 2D object (or DXF) to Surface for extruding
+ KSU Objeto 2D (o DXF) a superficie para extruir
+
+
+
+ ksuTools3D2D
+
+
+ 3D to 2D
+ 3D a 2D
+
+
+
+ ksu 3D object to 2D projection
+ ksu Objecto 3D a proyeccion 2D
+
+
+
+ ksuToolsAddSilks
+
+
+ ksu tools Add Silks from KiCad exported DXF
+NB: it could be a very intensive loading!
+ Herramientas KSU Agregar serigrafías DXF exportadas desde KiCad
+Nota: ¡podría ser una carga muy intensiva!
+
+
+
+ ksuToolsAddToTree
+
+
+ Add to Tree
+ Agregar a árbol
+
+
+
+ ksu Add Object(s) to Container Tree
+keeping Placement
+First Selection is the Container
+ ksu Agrega objecto(s) a un contenedor de arbol
+manteniendo ubicación
+Primera seleccion es el contenedor
+
+
+
+ ksuToolsAddTracks
+
+
+ ksu tools Add Tracks
+NB: it could be a very intensive loading!
+ Herramientas KSU Agregar pistas
+Nota: ¡podría ser una carga muy intensiva!
+
+
+
+ ksuToolsAlignView
+
+
+ AlignView to Face
+ Alinea vista a la cara
+
+
+
+ ksu AlignView to Face
+ ksu Alinea vista a la cara
+
+
+
+ ksuToolsAligner
+
+
+ Manipulator tools 'Aligner'
+ Herramientas de manipulador 'Alineador'
+
+
+
+ ksuToolsBsplineNormalize
+
+
+ Geo to Bspline
+ Geometría a B-spline
+
+
+
+ ksu Convert Geometry to Bspline for KiCAD format
+ KSU Convertir geometría a B-spline para formato KiCad
+
+
+
+ ksuToolsCaliper
+
+
+ Manipulator tools 'Caliper'
+ Herramientas manipuladoras 'Vernier'
+
+
+
+ ksuToolsCheckSolid
+
+
+ Check Solid property
+ Verificar propiedad sólida
+
+
+
+ ksu Check Solid property
+Toggle suffix
+ KSU Comprobar propiedad sólida
+Alternar sufijo
+
+
+
+ ksuToolsCollisions
+
+
+ Check Collisions
+ Comprobar colisiones
+
+
+
+ ksu Check Collisions and Interferences
+ KSU Comprobar colisiones e interferencias
+
+
+
+ ksuToolsColoredBinder
+
+
+ Colored Binder
+ Conector coloreado
+
+
+
+ Colored Binder object
+ Objeto conector coloreado
+
+
+
+ ksuToolsColoredClone
+
+
+ Colored Clone
+ Clon coloreado
+
+
+
+ Colored Clone object
+ Clon conector coloreado
+
+
+
+ ksuToolsComparePositions
+
+
+ tools Compare 3D models Positions
+ herramientas Compara posiciones de modelos 3D
+
+
+
+ ksu Compare 3D models Positions Data with the Active Document [MCAD Synchronize]
+ ksu Compara datos de posiciones de modelos 3D con el documento activo [MCAD sincronizado]
+
+
+
+ ksuToolsConstrainator
+
+
+ Constrain a Sketch
+ Restringir
+
+
+
+ ksu Fix & auto Constrain a Sketch
+ ksu repara & auto restriciones de un croquis
+
+
+
+ ksuToolsContour2Poly
+
+
+ ksu tools 'RF PolyLined Sketch'
+Selection's Shapes to PolyLine Sketch
+ ksu herramientas 'Croquis con polilinea RF'
+Selecciona'es formas a croquis polilinea
+
+
+
+ ksuToolsCopyPlacement
+
+
+ Copy Placement 1st to 2nd
+ Copia primera ubicacion a segunda
+
+
+
+ ksu tools Copy Placement 1st to 2nd
+ herramientas ksu copia primera ubicación a la segunda
+
+
+
+ ksuToolsDeepCopy
+
+
+ PartDN Copy
+ Copia PartDN
+
+
+
+ ksu PartDN Copy object with relative placement [flattened model]
+ ksu copia objecto PartDN con ubicacion relativa [flattened model]
+
+
+
+ ksuToolsDefeaturingTools
+
+
+ Defeaturing Tools from Defeaturing WorkBench
+ Herramientas de decaraterizado desde el entorno de trabajo Defeaturing
+
+
+
+ ksuToolsDiscretize
+
+
+ Discretize
+ Discretizar
+
+
+
+ ksu Discretize a shape/outline to a Sketch
+ KSU Discretizar una forma/contorno a un croquis
+
+
+
+ ksuToolsEdges2Sketch
+
+
+ Edges to Sketch
+ Bordes a croquis
+
+
+
+ ksu Select coplanar edge(s) or Face(s) or a single Vertex of a coplanar outline to get a corresponding Sketch
+ ksu Selecciona arista(s) coplanar o cara(s) o un simple vertize de una linea exterior coplanar para obtener una croquis correspondiente
+
+
+
+ ksuToolsEditPrefs
+
+
+ Edit Preferences
+ Editar preferencias
+
+
+
+ ksuToolsExplode
+
+
+ ksu Tools PCB Explode Select the top container of a KiCad PCB to explode it
+ Herramientas ksu Explosionar PCB Explode Selecciona el contenedor superior de una PCB de KiCad para explosionar
+
+
+
+ ksuToolsExport3DStep
+
+
+ Export 3D to STEP
+ Exportar 3D a STEP
+
+
+
+ ksu Export selected objects to STEP Model
+ KSU Exportar objetos seleccionados a modelo STEP
+
+
+
+ ksuToolsExportModel
+
+
+ Export 3D Model
+ Exportar modelo 3D
+
+
+
+ ksu Export 3D Model to KiCad
+ KSU Exportar modelo 3D a KiCad
+
+
+
+ ksuToolsExtrude
+
+
+ ksu tools 'Extrude'
+Extrude selection
+ Herramientas KSU 'Extruir'
+Extruir la selección
+
+
+
+ ksuToolsFootprintGen
+
+
+ Footprint generator
+ Generador de huellas
+
+
+
+ ksu Footprint editor and exporter
+ ksu Editor de huellas y exportador
+
+
+
+ ksuToolsGeneratePositions
+
+
+ tools Generate 3D models Positions
+ herramientas Generar posiciones de modelos 3D
+
+
+
+ ksu Generate 3D models Positions Data for Active Document [MCAD Synchronize]
+ ksu Generar posiciones de modelos 3D para un documento activo [MCAD Synchronize]
+
+
+
+ ksuToolsHighlightToggle
+
+
+ Highlight Toggle
+ Alternar resaltado
+
+
+
+ ksu Selection Highlight Toggle
+ KSU Alternar resaltado de selección
+
+
+
+ ksuToolsImport3DStep
+
+
+ Import 3D STEP
+ Importar STEP 3D
+
+
+
+ ksu Import 3D STEP Model
+ KSU Importar modelo 3D STEP
+
+
+
+ ksuToolsImportFootprint
+
+
+ Load FootPrint
+ Cargar huella
+
+
+
+ ksu Load KiCad PCB FootPrint
+ KSU Cargar huella de PCB de KiCad
+
+
+
+ ksuToolsLoadFootprint
+
+
+ Load FootPrint
+ Cargar huella
+
+
+
+ ksu Load KiCad PCB FootPrint
+ KSU Cargar huella de PCB de KiCad
+
+
+
+ ksuToolsLoopSelection
+
+
+ ksu tools 'LoopSelection'Loop selection on a xy outline
+ Herramientas ksu'Seleccionar bucle'seleccionar bucle sobre una linea exterior en XY
+
+
+
+ ksuToolsMakeCompound
+
+
+ Make Compound
+ Crear compuesto
+
+
+
+ ksu Make a Compound of selected objects
+ ksu Crear un compuesto de los objetos seleccionados
+
+
+
+ ksuToolsMakeUnion
+
+
+ Make Union
+ Crear unión
+
+
+
+ ksu Make a Union of selected objects
+ KSU Crear una unión de objetos seleccionados.
+
+
+
+ ksuToolsMergeSketches
+
+
+ Merge Sketches
+ Combinar croquis
+
+
+
+ ksuToolsMoveSketch
+
+
+ Move Sketch
+ Mover croquis
+
+
+
+ ksu Move 2D Sketch
+ KSU Mover croquis 2D
+
+
+
+ ksuToolsMover
+
+
+ Manipulator tools 'Mover'
+ Herramientas manipuladoras 'Movedor'
+
+the mover moves things
+
+
+
+ ksuToolsOffset2D
+
+
+ Offset 2D
+ Desplazamiento 2D
+
+
+
+ ksu Offset 2D object
+ ksu Desfasar objetos 2D
+
+
+
+ ksuToolsOpenBoard
+
+
+ Load Board
+ Cargar placa
+
+
+
+ ksu Load KiCad PCB Board and Parts
+ KSU Cargar placa PCB y partes de KiCad
+
+
+
+ ksuToolsPullMoved
+
+
+ Pull 3D model(s) placement from PCB
+ Cargar ubicacion de modelo(s) 3D desde la PCB
+
+
+
+ ksu Pull 3D model(s) placement from PCB
+ ksu Cargar ubicacion de modelo(s) 3D desde la PCB
+
+
+
+ ksuToolsPullPCB
+
+
+ Pull Sketch from PCB
+ Cargar croquis desde PCB
+
+
+
+ ksu Pull Sketch from PCB Edge
+ ksu Cargar croquis desde borde de PCB
+
+
+
+ ksuToolsPushMoved
+
+
+ Push 3D moved model(s) to PCB
+ Enviar modelos 3D desplazados a la PCB
+
+
+
+ ksu Push 3D moved model(s) to PCB
+ KSU Enviar los modelos movidos en 3D a la PCB
+
+
+
+ ksuToolsPushPCB
+
+
+ Push Sketch to PCB
+ Enviar croquis a PCB
+
+
+
+ ksu Push Sketch to PCB Edge
+ KSU Enviar croquis a borde de PCB
+
+
+
+ ksuToolsReLinkBinder
+
+
+ Relink Binder
+ Revincular vínculo
+
+
+
+ Relink Binder object Select Binder and an Object to be linked
+ Revincular el objeto vínculo Seleccione vínculo y un objeto a vincular
+
+
+
+ ksuToolsRemoveFromTree
+
+
+ Remove from Tree
+ Eliminar del árbol
+
+
+
+ ksu Remove Object(s) from Container Tree
+keeping Placement
+First Selection is the Container
+ KSU Eliminar objeto(s) del árbol contenedor
+manteniendo la colocación
+La primera selección es el contenedor
+
+
+
+ ksuToolsRemoveSubTree
+
+
+ Remove Sub Tree
+ Eliminar sub árbol
+
+
+
+ ksuToolsResetPartPlacement
+
+
+ Reset Part Placement
+ Restablecer ubicación de parte
+
+
+
+ ksu Reset Placement for all Part containers in selection
+ KSU Restablecer ubicación para todos los contenedores de piezas en la selección
+
+
+
+ ksuToolsResetPlacement
+
+
+ Reset Placement
+ Restablecer ubicación
+
+
+
+ ksu Reset Placement for a Shape
+ KSU Restablecer ubicación para una forma
+
+
+
+ ksuToolsSimpleCopy
+
+
+ Simple Copy
+ Copia simple
+
+
+
+ ksu Simple Copy object
+ KSU Objeto de copia simple
+
+
+
+ ksuToolsSimplifySketck
+
+
+ Simplify Sketch
+ Simplificar croquis
+
+
+
+ ksu Simplifying Sketch to Arcs and Lines
+ KSU Simplificar croquis a arcos y líneas
+
+
+
+ ksuToolsSkValidate
+
+
+ ksu tools 'Sketcher Validate'
+Validate selected Sketch
+ Herramientas KSU 'Validación de Sketcher'
+Validar croquis seleccionado
+
+
+
+ ksuToolsStepImportModeComp
+
+
+ disable Simplified STEP Import Mode
+ Deshabilitar el modo de importación STEP simplificado
+
+
+
+ ksu tools disable Simplified STEP Import Mode
+ Herramientas KSU Deshabilitar el modo de importación STEP simplificado
+
+
+
+ ksuToolsStepImportModeSTD
+
+
+ disable Full STEP Import Mode
+ Deshabilitar el modo de importación STEP completo
+
+
+
+ ksu tools disable Full STEP Import Mode
+ Herramientas KSU Deshabilitar el modo de importación STEP completo
+
+
+
+ ksuToolsSync3DModels
+
+
+ Sync 3D model(s) Ref & TimeStamps with PCB
+ Sincronizar modelos 3D Ref y TimeStamps con PCB
+
+
+
+ ksu Sync 3D model(s) Ref & TimeStamps
+of the Selected 3D model with KiCad PCB
+ KSU Sincronizar referencias y marcas de tiempo del
+modelo(s) 3D seleccionado con KiCad PCB
+
+
+
+ ksuToolsToggleTreeView
+
+
+ Expand/Collapse Tree View
+ Expandir/Colapsar vista de árbol
+
+
+
+ ksu tools Expand/Collapse Tree View
+ Herramientas KSU Expandir/Colapsar vista de árbol
+
+
+
+ ksuToolsTransparencyToggle
+
+
+ Transparency Toggle
+ Alternar transparencia
+
+
+
+ ksu Selection Transparency Toggle
+ KSU Alternar transparencia de selección
+
+
+
+ ksuToolsTurnTable
+
+
+ TurnTable
+ Mesa giratoria
+
+
+
+ ksu TurnTable
+ KSU Mesa giratoria
+
+
+
+ ksuToolsUnion
+
+
+ Fuse objects
+ Fusionar objetos
+
+
+
+ Make Union (Fuse) objects
+ Hacer unión (fusionar) objetos
+
+
+
+ ksuToolsVisibilityToggle
+
+
+ Visibility Toggle
+ Alternar visibilidad
+
+
+
+ ksu Selection Visibility Toggle
+ KSU Alternar visibilidad de selección
+
+
+
diff --git a/translations/ksu_pl.qm b/translations/ksu_pl.qm
new file mode 100644
index 0000000..b1072a5
Binary files /dev/null and b/translations/ksu_pl.qm differ
diff --git a/translations/ksu_pl.ts b/translations/ksu_pl.ts
new file mode 100644
index 0000000..16edad6
--- /dev/null
+++ b/translations/ksu_pl.ts
@@ -0,0 +1,2335 @@
+
+
+
+
+ CDialog
+
+
+ Dialog
+ Okno dialogowe
+
+
+
+ explode_dwg
+
+
+ Explode 3D PCB
+ kicad StepUp 3D tools
+ Rozłóż trójwymiarową płytę PCB.
+
+
+
+ 1.0
+ 1,0
+
+
+
+ kSUGui::DlgSettingskStepUp
+
+
+
+
+ General
+ Ogólne
+
+
+
+
+ 3D Prefix working folder
+ Prefiks katalogu roboczego z obiektami 3D
+
+
+
+
+ <html><head/><body><p>your <span style=" font-weight:600;">KISYS3DMOD</span> path</p><p>or 3D model <span style=" font-weight:600;">main prefix path</span></p></body></html>
+ <html><head/><body><p>Twoja <span style=" font-weight:600;">ścieżka KISYS3DMOD</span></p><p>lub modelu 3D <span style=" font-weight:600;">główny prefiks ścieżki</span></p></body></html>
+
+
+
+
+ main 3D folder location 'KISYS3DMOD'
+or 'KICAD6_3DMODEL_DIR'
+ lokalizacja głównego folderu obiektów 3D
+"KISYS3DMOD" lub "KICAD6_3DMODEL_DIR"
+
+
+
+
+ <html><head/><body><p>main 3D folder location</p><p><span style=" font-weight:600;">'KISYS3DMOD'</span></p></body></html>
+ <html><head/><body><p>Lokalizacja głównego folderu obiektów 3D</p><p><span style=" font-weight:600;">"KISYS3DMOD"</span></p></body></html>
+
+
+
+
+
+
+
+
+ <html><head/><body><p>your <span style=" font-weight:600;">ALIAS</span> 3D</p><p>model prefix path</p></body></html>
+ <html><head/><body><p>Twój <span style=" font-weight:600;">ALIAS</span>modelu 3D</p><p>prefiks scieżki</p></body></html>
+
+
+
+
+ secondary 3D folder loc
+'ALT2 3DMOD'
+ lokalizacja dodatkowego folderu
+obiektów 3D "ALT2 3DMOD"
+
+
+
+
+
+
+
+
+ <html><head/><body><p>secondary 3D folder location</p><p><span style=" font-weight:600;">'ALT3DMOD'</span></p></body></html>
+ <html><head/><body><p>lokalizacja dodatkowego folderu obiektów 3D</p><p><span style=" font-weight:600;">"ALT3DMOD"</span></p></body></html>
+
+
+
+
+ PCB settings
+ Ustawienia PCB
+
+
+
+ PCBs color.
+ Kolor wybrany dla Twojej płytki.
+
+
+
+
+
+
+
+
+ PCB color
+ Kolor PCB
+
+
+
+ LightGreen
+ Jasny zielony
+
+
+
+
+ Green
+ Zielony
+
+
+
+
+ Blue
+ Niebieski
+
+
+
+
+ Red
+ Czerwony
+
+
+
+
+ Purple
+ Fioletowy
+
+
+
+
+ DarkGreen
+ Ciemny zielony
+
+
+
+
+ DarkBlue
+ Ciemny niebieski
+
+
+
+
+ LightBlue
+ Jasny niebieski
+
+
+
+
+ Yellow
+ Żółty
+
+
+
+
+ Black
+ Czarny
+
+
+
+
+ White
+ Biały
+
+
+
+
+
+
+ PCB Reference Placement in mechanical environment
+ Odniesienie umiejscowienia PCB
+w środowisku mechanicznym
+
+
+
+
+ PCB Placement
+ Umiejscowienie PCB
+
+
+
+
+ Grid Origin
+ Punkt początkowy siatki
+
+
+
+
+ Aux Origin
+ Pomocniczy punkt początkowy
+
+
+
+
+ Pcb Center (approx)
+ Środek PCB (w przybliżeniu)
+
+
+
+
+
+
+ Constraints to be added to PCB Sketch
+ Wiązania do dodania do szkicu PCB
+
+
+
+
+ PCB Sketch mode (constraints)
+ Tryb szkicu PCB (wiązania)
+
+
+
+
+ Coincident
+ Zbieżność
+
+
+
+
+ V&H, Coincident
+ V&H, Zbieżność
+
+
+
+
+ Full
+ Wszystkie
+
+
+
+
+ None
+ Brak
+
+
+
+
+ Enable/Disable Virtual 3D
+(mechanical) models
+ Włączanie / wyłączanie wirtualnych modeli 3D
+(mechanicznych)
+
+
+
+
+ Virtual 3D Models loading
+ Ładowanie wirtualnych modeli 3D
+
+
+
+
+
+
+ minimum Drill size applied to PCB
+'0.0' -> all drills are loaded
+'-1' -> all drills and vias are loaded
+ Minimalna średnica wiertła zastosowana do PCB
+"0.0" -> ładowane są wszystkie wiercenia
+"-1" -> ładowane są wszystkie wiercenia i przelotki
+
+
+
+
+ minimum Drill size applied to PCB
+ Minimalna średnica wiertła do zastosowania
+
+
+
+
+ 0.0
+ 0,0
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Bounding Box LIST:</span><br/>configure which 3D models will be converted to Bounding Box<br/><span style=" font-weight:600;">Examples:</span><br/><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> all models will be converted to bounding boxes</span><br/><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> these two models will NOT be converted to BBox</span><br/><span style=" font-style:italic;">(list of 3D model's names separated by a semicolon)</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">LISTA ramek otaczających:</span><br/>skonfiguruj, które modele 3D zostaną przekonwertowane na ramki otaczające<br/><span style=" font-weight:600;">Przykład:</span><br/><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> wszystkie modele zostaną przekonwertowane na ramki ograniczające</span><br/><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> Te dwa modele NIE zostaną przekonwertowane na ramki obwiedni</span><br/><span style=" font-style:italic;">(lista nazw modeli 3D oddzielonych średnikiem)</span></p></body></html>
+
+
+
+
+ Bounding Boxes
+ Ramki otaczające
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Black List:</span><br/>put here your model names that you don't want to load (e.g. smallest ones)<br/>separated by a semicolon.<br/>DNP or DNF attribute.<br/>volume and height are also configurable.<br/>(volume=1 means all models with a volume < 1mm3 will not be included)<br/>(height=1 means all models with a height < 1mm will not be included)<br/><br/><span style=" font-weight:600;">Examples:</span><br/>DNP;R_0402_1005Metric;C_0402_1005Metric;<br/>height=1.0<br/>volume=1.0<br/><span style=" font-weight:600;">An empty list means all the models will be parsed.</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">Czarna lista:</span><br/>umieść tutaj nazwy modeli, których nie chcesz ładować (np. najmniejszych).<br/>oddiel je średnikiem.<br/>atrybut DNP lub DNF.<br/>objętość i wysokość są również konfigurowalne.<br/>(volume=1 oznacza że wszystkie modele z objętością < 1mm3 nie zostaną wuwzględnione)<br/>(height=1 oznacza, że wszystkie modele o wysokości < 1mm nie zostaną uwzględnione).<br/><br/><span style=" font-weight:600;">Przykłady:</span><br/>DNP;R_0402_1005Metric;C_0402_1005Metric;<br/>height=1.0<br/>volume=1.0<br/><span style=" font-weight:600;">Pusta lista oznacza, że wszystkie modele zostaną przetworzone.</span></p></body></html>
+
+
+
+
+ Black List
+ "Czarna" lista
+
+
+
+
+
+
+ minimum Edge Tolerance applied to PCB
+default '0.01mm'
+ Minimalna tolerancja krawędzi zastosowana do PCB
+wartość domyślna: 0.01mm
+
+
+
+
+ minimum edge tolerance
+ Minimalna tolerancja krawędzi
+
+
+
+
+ 0.01
+ 0,01
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">White List:</span><br/>put here your model names that you must load (e.g. smallest ones)<br/>separated by a semicolon.<br/><br/><span style=" font-weight:600;">Examples:</span><br/>
+LED_D5.0mm_IRBlack;USB_Mini-B_Lumberg_2486_01_Horizontal;<br/><span style=" font-weight:600;">An empty list means all the models will behave as usual.</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">Biała lista:</span><br/>Umieść tutaj nazwy modeli, które musisz załadować (np. najmniejsze).<br/>oddiel je średnikiem..<br/><br/><span style=" font-weight:600;">Przykłady:</span><br/>
+LED_D5.0mm_IRBlack;USB_Mini-B_Lumberg_2486_01_Horizontal;<br/><span style=" font-weight:600;">Pusta lista oznacza, że wszystkie modele będą zachowywać się jak zwykle.</span></p></body></html>
+
+
+
+ White List
+ "Biała" lista
+
+
+
+
+ Import/Export settings
+ Konfiguracja importu / eksportu
+
+
+
+
+ <html><head/><body><p>Enable/Disable <span style=" font-weight:600;">fusion (union)</span> of all 3D models.</p><p>Be careful ... fusion can be heavy or generate FC crash with a lot of objects.</p><p>Please consider to use bbox or blacklist small objects</p></body></html>
+ <html><head/><body><p>Włacz / Wyłącz <span style=" font-weight:600;">połączenie (scalenie)</span> wszystkich modeli 3D.</p><p>Bądź ostrożny ... operacja scalenia może być trudna lub wygenerować kolizję FC z wieloma obiektami.</p><p>Rozważ użycie ramki otaczającej lub czarnej listy małych obiektów</p></body></html>
+
+
+
+
+ Make a Union of 3D models
+ Twórz scalenie modeli 3D
+
+
+
+
+ <html><head/><body><p>Directly <span style=" font-weight:600;">Export STEP</span> after Loading</p></body></html>
+ <html><head/><body><p>Bezpośredni <span style=" font-weight:600;">Eksport STEP</span> po załadowaniu</p></body></html>
+
+
+
+
+ Directly Export STEP after Loading
+ Eksport STEP bezpośrednio po załadowaniu projektu
+
+
+
+ STEP export mode.
+ Tryb eksportu do formatu STEP.
+
+
+
+
+
+
+
+
+ STEP export mode
+ Tryb eksportu STEP
+
+
+
+
+
+
+ Hierarchy
+ Hierarchia
+
+
+
+
+ Flat
+ Płaskie
+
+
+
+
+ One Container
+ Jeden kontener
+
+
+
+ 3D Loading mode.
+ Tryb ładowania obiektów 3D.
+
+
+
+
+
+
+ 3D Loading mode
+ Tryb ładowania obiektów 3D
+
+
+
+
+ 3D_loading_mode
+Allowing or not Loading Multi Parts objects
+ 3D_loading_mode
+Zezwolenie lub nie na ładowanie obiektów wieloczęściowych.
+
+
+
+
+ Simplified
+ Uproszczony
+
+
+
+
+ NotMultiParts
+ Bez wieloczęściowych
+
+
+
+
+ Standard
+ Standardowy
+
+
+
+ Assembly3 Links allowed.
+ Powiązania ze środowiskiem pracy Złożenie 3 będą dozwolone.
+
+
+
+
+
+
+ Assembly3 Links allowed
+ Zezwól na łącza ze środowiska Złożenie 3
+
+
+
+ Enables Materials for VRML exporting.
+ Umożliwia eksportowanie materiałów VRML.
+
+
+
+
+
+
+ Enable Materials for VRML exporting
+ Eksport materiałów VRML
+
+
+
+ Start Turntable after loading.
+ Po załadowaniu uruchomiona będzie obsługa manipulatora TurnTable.
+
+
+
+
+
+
+ Start Turntable after loading
+ Uruchom obsługę Turntable po załadowaniu
+
+
+
+ Assembly3 LinkGroups allowed.
+ Grupy powiązań ze środowiskiem pracy Złożenie 3 będą dozwolone.
+
+
+
+
+
+
+ Assembly3 LinkGroups allowed
+ Zezwól na grupy łączy ze środowiska Złożenie 3
+
+
+
+ Enables compressed STEP file ('.stpZ') generation exporting.
+ Włącza możliwość eksportu do skompresowanego pliku STEP (.stpZ).
+
+
+
+
+
+ Enable compressed STEP file ('.stpZ') generation exporting
+ Włącz eksport do skompresowanego pliku STEP (.stpZ).
+
+
+
+ Enables compressed VRML file ('.wrz') generation exporting.
+ Włącza możliwość eksportu do skompresowanego pliku VRML (.wrz).
+
+
+
+
+
+ Enable compressed VRML file ('.wrz') generation exporting
+ Włącz eksport do skompresowanego pliku VRML (.wrz).
+
+
+
+ Displays STEP import settings warning.
+ Wyświetlane będą ostrzeżenia o ustawieniach importu STEP
+
+
+
+
+
+
+ Display STEP import settings warning
+ Pokaż ostrzeżenia o ustawieniach importu STEP
+
+
+
+
+ <html><head/><body><p>Apply Transparency for 'Glass' Materials:</p><p>Force Transparency to STEP model if 'Glass' is found in '.wrl' model</p></body></html>
+ <html><head/><body><p>Zastosuje przezroczystość dla materiałów typu "szkło":</p><p>Spowoduje wymuszenie przezroczystości na obiekcie modelu STEP, jeśli materiał "szkło" znajduje się w modelu ".wrl".</p></body></html>
+
+
+
+
+ Apply Transparency for 'Glass' Materials
+ Zastosuj przezroczystość dla "szkła"
+
+
+
+
+ <html><head/><body><p>Apply Transparency for 'Led' Materials:</p><p>Force Transparency to STEP model if 'Led' is found in '.wrl' model</p></body></html>
+ <html><head/><body><p>Zastosuje przezroczystość dla materiałów typu "LED":</p><p>Spowoduje wymuszenie przezroczystości na obiekcie modelu STEP, jeśli "LED" znajduje się w modelu ".wrl".</p></body></html>
+
+
+
+
+ Apply Transparency for 'Led' Materials
+ Zastosuj przezroczystość dla "LED"
+
+
+
+ <html><head/><body><p>Skip importing pcb zone(s)</p></body></html>
+ <html><head/><body><p>Wyłącza import stref z płytek drukowanych.</p></body></html>
+
+
+
+ skpZone
+ Strefa
+
+
+
+ <html><head/><body><p>Skip importing pcb tracks and vias</p></body></html>
+ <html><head/><body><p>Wyłącza import ścieżek i przelotek z płytek drukowanych.</p></body></html>
+
+
+
+ skpTracks
+ Ścieżka
+
+
+
+
+ <html><head/><body><p>Skip importing pcb pads</p></body></html>
+ <html><head/><body><p>Wyłącza import pół lutowniczych z płytek drukowanych.</p></body></html>
+
+
+
+ skpPads
+ "Pady"
+
+
+
+
+ third 3D folder loc
+'ALT3 3DMOD'
+ trzecia lokalizacja folderu
+obiektów 3D "ALT3 3DMOD"
+
+
+
+
+ fourth 3D folder loc
+'ALT4 3DMOD'
+ czwarta lokalizacja folderu
+obiektów 3D "ALT4 3DMOD"
+
+
+
+ <html><head/><body><p>Select to NOT use the native dialog box in Open/Save files<br/>(suggested for Snap or FlatPack)</p></body></html>
+ <html><head/><body><p>Wybierz, aby NIE używać systemowego okna dialogowego podczas otwierania / zapisywania plików<br/>(zalecane dla dystrybucji Snap lub FlatPack)</p></body></html>
+
+
+
+ don't use native dialog in Open/Save files (for Snap or FlatPack)
+ Nie używaj natywnego okna otwierania / zapisywania plików (dla Snap lub FlatPack)
+
+
+
+
+ Mechanical Check
+ Kontrola mechaniczna
+
+
+
+ Generates Sketches for differences on PCB Edge.
+ Zostaną wygenerowane szkice dla różnic na krawędzi PCB.
+
+
+
+
+
+
+ Generate Sketches for differences on PCB Edge
+ Generuj szkice dla różnic na krawędziach PCB
+
+
+
+ Working directory ccx tools
+ Katalog roboczy narzędzi ccx
+
+
+
+
+ Use custom directory
+ Użyj katalogu użytkownika
+
+
+
+ Working directory general FEM solver frame work
+ Katalog roboczy solwera MES
+
+
+
+ Temporary directories
+ Katalogi tymczasowe
+
+
+
+ Let FreeCAD manage (create, delete) the working directories for all solver. Use temporary directories.
+ Pozwól aby FreeCAD zarządzał (tworzył, usuwał)
+katalogami roboczymi dla wszystkich solverów.
+Użyj katalogów tymczasowych.
+
+
+
+ Beside .fcstd file
+ Oprócz pliku .fcstd
+
+
+
+ Create a directory in the same folder in which the fcstd file of the document is located. Use Subfolder for each solver (e.g. for a file ./mydoc.fcstd and a solver with the label Elmer002 use ./mydoc/Elmer002).
+ Utwórz katalog w tym samym katalogu, w którym znajduje się plik fcstd dokumentu.
+Użyj katalogu podrzędnego dla każdego solvera
+(np. dla pliku ./mydoc.fcstd i solvera z etykietą Elmer002 użyj ./mydoc/Elmer002).
+
+
+
+ Use directory set below. Create own subdirectory for every solver. Name directory after the solver label prefixed with the document name.
+ Użyj poniższego ustawienia katalogu. Utwórz własny katalog podrzędny dla każdego solvera.
+Nazwij katalog na podstawie etykiety solvera poprzedzonej nazwą dokumentu.
+
+
+
+ Path:
+ Ścieżka:
+
+
+
+ Mesh
+ Siatka
+
+
+
+ Create mesh groups for analysis reference shapes
+ Utwórz grupy siatek dla kształtów referencyjnych analizy
+
+
+
+
+ choice#1
+ Wybór#1
+
+
+
+ choice#2
+ Wybór#2
+
+
+
+ choice#3
+ Wybór#3
+
+
+
+ Results
+ Wyniki
+
+
+
+ Keep results on calculation re-run
+ Zachowaj wyniki przy ponownym uruchomieniu obliczeń
+
+
+
+ Restore result dialog settings
+ Przywróć ustawienia okna dialogowego wyników
+
+
+
+ Hide constraints when open result dialog
+ Ukryj wiązania po otwarciu okna dialogowego wyników
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Bounding Box LIST:</span></p><p>configure which 3D models will be converted to Bounding Box</p><p><span style=" font-weight:600;">Examples:</span></p><p><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> all models will be converted to bounding boxes</span></p><p><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> these two models will NOT be converted to BBox</span></p><p><span style=" font-style:italic;">(list of 3D model's names separated by a semicolon)</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">LISTA ramek otaczających:</span></p><p>skonfiguruj, które modele 3D zostaną przekonwertowane na ramki otaczające</p><p><span style=" font-weight:600;">Przykłady:</span></p><p><span style=" font-weight:600;">ALL</span><span style=" font-style:italic;">-> wszystkie modele zostaną przekonwertowane na ramki ograniczające</span></p><p><span style=" font-weight:600;">LIST</span> DSUB-15-HD_FH, DSUB-9_FH <span style=" font-style:italic;">-> ee dwa modele NIE zostaną przekonwertowane na ramki ograniczające</span></p><p><span style=" font-style:italic;">(lista nazw modeli 3D oddzielonych średnikiem)</span></p></body></html>
+
+
+
+
+ <html><head/><body><p><span style=" font-weight:600;">Black List:</span></p><p>put here your model names that you don't want to load (e.g. smallest ones)</p><p>separated by a semicolon.</p><p>volume and height are also configurable.</p><p>(volume=1 means all models with a volume < 1mm3 will not be included)</p><p>(height=1 means all models with a height < 1mm will not be included)</p><p><br/><span style=" font-weight:600;">Examples:</span></p><p>r_0603;r_0402;c_0402;c_0603</p><p>height=1.0</p><p>volume=1.0</p><p><span style=" font-weight:600;">An empty list means all the models will be parsed.</span></p></body></html>
+ <html><head/><body><p><span style=" font-weight:600;">Czarna lista:</span></p><p>umieść tutaj nazwy modeli, których nie chcesz ładować (np. najmniejszych).</p><p>oddiel je średnikiem</p><p>Objętość i wysokość są również konfigurowalne.</p><p>(volume=1 oznacza, że wszystkie modele o objętości < 1mm3 nie zostaną uwzględnione)</p><p>(height=1 oznacza, że wszystkie modele o wysokości << 1 mm nie zostaną uwzględnione)</p><p><br/><span style=" font-weight:600;">Przykłady:</span></p><p>r_0603;r_0402;c_0402;c_0603</p><p>height=1.0</p><p>volume=1.0</p><p><span style=" font-weight:600;">Pusta lista oznacza, że wszystkie modele zostaną przeanalizowane.</span></p></body></html>
+
+
+
+ Arcs2Circles
+
+
+ Convert Arcs to Circles in Sketch
+ Konwertuj łuki na okręgi w Szkicowniku
+
+
+
+ Close
+
+
+ <b>Do you want to quit?</b> <i>Have you saved your STEP artwork?</i><br>
+
+
+
+
+ Close
+
+
+
+
+ Create_BoundBox
+
+
+ Create BoundBox of the Selected Object
+ Utwórz ramkę otaczającą wybranego obiektu
+
+
+
+ Help
+
+
+ <b>Kicad StepUp</b> is a tool set to easily <b>collaborate between kicad pcb EDA</b> (board and 3D parts) as STEP models <b>and FreeCAD MCAD</b> modeler.<br>
+</font>
+
+
+
+
+ <b>StepUp</b> can also be used <b>to align 3D model to kicad footprint</b>.<br>
+The artwork can be used for MCAD interchange and collaboration, and for enclosure design.<br>
+The 3D visualization of components on board assemblies in kicad 3dviewer, will be the same in your mechanical software,
+because of the STEP interchange format.<br>
+It is also possible to <b>Update a pcb Edge from a FC Sketcher.</b><br>
+<b>configuration options:</b><br>Configuration options are located in the preferences system of FreeCAD, which is located in the Edit menu -> Preferences.<br>
+
+
+
+
+
+ starter Guide:<br><a href='{}{}demo{}{}' target='_blank'>{}</a><br>
+
+
+
+
+ <b>Note:</b> each button has its own <b>Tooltip</b><br>
+useful buttons:<br><b>Load kicad Board directly</b> -> will load kicad board and parts in FreeCAD coming from kicad '.kicad_pcb' file<br>
+<b>Load kicad Footprint module</b> -> will load directly kicad footprint in FreeCAD to easily align the 3D model to footprint<br>
+<b>Export to kicad STEP & scaled VRML</b> -> will convert MCAD model to STEP and VRML to be used by Kicad and kicad StepUp<br>
+<b> -> VRML can be multipart;<br> -> STEP must be single part</b><br>(<i>'Part Boolean Union'</i> or <i>'Part Makecompound'</i>)<br>
+<i>assign material to selected colors and your VRML 3D models will have nice shiny effects</i><br>
+<b>Push pcb Sketch to kicad_pcb Edge</b> -> will push pcb Sketch to kicad_pcb Edge in your design; it can be done with an empty or with an existing pcb Edge<br>
+<br>for a more detailed help have a look at <br><b>kicadStepUp-starter-Guide.pdf</b><br>
+or just follow the <b>YouTube video tutorials</b> <br><a href='https://youtu.be/h6wMU3lE_sA' target='_blank'>kicadStepUp basics</a><br>
+<a href='https://youtu.be/O6vr8QFnYGw' target='_blank'>kicadStepUp STEP alignment to Kicad footprint</a><br>
+<a href='https://github.com/easyw/kicadStepUpMod' target='_blank'>check always the latest release of kicadStepUp</a><br><br>
+Designing in kicad native 3d-viewer will produce a fully aligned STEP MCAD version
+with the same view of kicad 3d render.<br>
+Moreover, KiCad StepUp tool set <b>will let you to load the kicad footprint inside FreeCAD and align the 3D part with a visual real time feedback
+of the 3d model and footprint reciprocal position.</b><br>
+With this tool is possible to download a part from on-line libraries, align the model to kicad footprint
+and export the model to wrl, for immediate 3d-viewer alignment in pcbnew.<br>
+Now the two words are connected for a better collaboration; just <b>design in kicad EDA</b> and transfer
+the artwork to <b>MCAD (FreeCAD)</b> smoothly.<br>
+<b>The workflow is very simple</b> and maintains the usual way to work with kicad:<br>
+Add models to your library creating 3D models in FreeCAD, or getting models from online libs
+or from the parametric 3D lib expressly done to kicad <a href='https://github.com/easyw/kicad-3d-models-in-freecad' target='_blank'>kicadStepUp 3D STEP models generator</a><br>
+Once you have your 3D MCAD model, <b>you need to have a copy of that in STEP and VRML format.</b> <br>
+(with the latest kicad release you can only have STEP model, VRML is not needed anymore, but <b>it is possible
+ to mix VRML, STEP and IGES format</b>)<br>
+Just exporting the model with FreeCAD and put your model in the same folder in which
+normally you are used to put vrml models; the script will assembly the MCAD board and models as in 3d-viewer of kicad.
+<br><b>NB<br>STEP model has to be fused in single object</b><br>(Part Boolean Union of objects)
+<br><b>or a Compoud</b> (Part Makecompound of objects)</b>
+<hr><b>enable 'Report view' Panel to see helping messages</b>
+</font>
+<br>
+
+
+
+
+ KiCadStepUpWB
+
+
+ KiCadStepUp
+ KiCad krok w górę
+
+
+
+ KiCadStepUp workbench
+ Środowisko pracy wspierające możliwości KiCad
+
+
+
+ Menu
+
+
+ ksu PushPull
+ KSU - wyciągnij
+
+
+
+
+ ksu Tools
+ KSU - narzędzia
+
+
+
+ Demo
+ Prezentacja
+
+
+
+ PushPCB
+
+
+ <b>Edge editing NOT supported on FC0.15!</b><br>please upgrade your FC release
+
+
+
+
+ Edge editing NOT supported on FC0.15!
+
+
+
+
+ getting camera view
+
+
+
+
+ forcing rotAngle to 0
+
+
+
+
+ evaluate to recompute
+
+
+
+
+ Saving to an empty KiCad pcb file
+
+
+
+
+ Cancel
+
+
+
+
+ Restoring cam view
+
+
+
+
+
+ Select one Sketch to be pushed to kicad board!
+
+
+
+
+ Restore_Transparency
+
+
+ Restore Transparency to Active Document Objects
+ Przywróć przezroczystość aktywnym obiektom dokumentu
+
+
+
+ Save
+
+
+ please <b>save</b> your job file before exporting.
+
+
+
+
+ Please <b>save</b> your job file before exporting.
+
+
+
+
+
+ Info ...
+
+
+
+
+
+ Save
+
+
+
+
+ Say
+
+
+ routine Scale to VRML 1/2.54
+
+
+
+
+ Put on Axe XYZ !
+
+
+
+
+ Select <b>ONE single part</b> object !<br>
+suggestion for multi-part:<br>
+ <b>Part Boolean Union (recommended)</b><br>
+or<br>
+ <i>Part Make compound (alternative choice)</i>
+
+
+
+
+ Select <b>a Compound</b> or <br>
+<b>a Part Design group</b><br>
+or <b>more than one Part</b> object !<br>
+
+
+
+
+
+ Error in selection
+
+
+
+
+ Warning ...
+
+
+
+
+ ERROR! ...
+
+
+
+
+ Info ...
+
+
+
+
+
+
+
+
+
+
+ Select ONE single part object !
+
+
+
+
+ Select an object !
+
+
+
+
+ Toolbar
+
+
+ ksu Tools
+ KSU - Narzędzia
+
+
+
+ ksu Sketching
+ KSU - Szkicowanie
+
+
+
+ ksu PushPull
+ KSU - Wyciągnij
+
+
+
+
+ ksu Design Tools
+ KSU - Narzędzia projektowe
+
+
+
+ ksu Show
+ KSU - Pokaz
+
+
+
+ ksu Helpers
+ KSU - Pomocnik
+
+
+
+ Ui_CDialog
+
+
+ Select a Sketch and Parameters
+to constraint the sketch
+NB the Sketch will be modified!
+ Wybierz szkic i parametry
+aby związać szkic
+Uwaga: szkic zostanie zmodyfikowany!
+
+
+
+ <b>Select a Sketch and Parameters to<br>constrain the sketch.<br>NB the Sketch will be modified!</b>
+ <b>Wybierz szkic i parametry aby<br>nałożyć wiązania na szkic.<br> Uwaga: Szkic zostanie zmodyfikowany!</b>
+
+
+
+ Constraints
+ Wiązania
+
+
+
+ Lock Coincident, Horizontal
+and Vertical
+ Zablokuj zbieżność,
+poziome i pionowe
+
+
+
+ Lock Coincident
+ Zablokuj zbieżność
+
+
+
+ Tolerance
+ Tolerancja
+
+
+
+ tolerance in mm
+ Tolerancja w mm
+
+
+
+ Tolerance on Constraints
+ Tolerancja dla wiązań
+
+
+
+ remove duplicated geometries
+ Usuń powielone geometrie
+
+
+
+ Ui_Dialog
+
+
+ Material Properties
+ Właściwości materiału
+
+
+
+ Materials
+ Materiały
+
+
+
+ Original
+ Oryginalne
+
+
+
+ Shape Color
+ Kolor kształtu
+
+
+
+ Diffuse Color
+ Kolor rozproszenia
+
+
+
+ New
+ Nowy
+
+
+
+ NB: set Material will unmatch colors between wrl and STEP
+ Uwaga: ustawiony materiał spowoduje niedopasowanie kolorów między wrl i STEP.
+
+
+
+ Ui_DockWidget
+
+
+ ksu config ini file
+location
+ KSU lokalizacja pliku konfiguracyjnego ini
+
+
+
+ KiCad StepUp tools
+ Narzędzia KiCad krok w górę
+
+
+
+ dock left
+ Dokuj po lewej
+
+
+
+ un-dock (floating)
+ Oddokowane
+
+
+
+ minimize
+ Minimalizuj
+
+
+
+ dock right
+ Dokuj po prawej
+
+
+
+ close
+ Zamknij
+
+
+
+
+
+ translate (+/- mm)
+ Przesunięcie (+/- mm)
+
+
+
+ translate X (+/- mm)
+ Przesunięcie X (+/- mm)
+
+
+
+ translate Y (+/- mm)
+ Przesunięcie Y (+/- mm)
+
+
+
+ translate Z (+/- mm)
+ Przesunięcie Z (+/- mm)
+
+
+
+ put on X
+ postaw na X
+
+
+
+ put on Y
+ postaw na Y
+
+
+
+ put on Z
+ postaw na Z
+
+
+
+
+
+ rotation angle (+/- deg)
+ Kąt obrotu (+/- °)
+
+
+
+ rotate X (+/- deg)
+ Obrót X (+/-°)
+
+
+
+ rotate Y (+/- deg)
+ Obrót Y (+/-°)
+
+
+
+ rotate Z (+/- deg)
+ Obrót Z (+/-°)
+
+
+
+ center X
+ Środek X
+
+
+
+ center Y
+ Środek Y
+
+
+
+ center Z
+ Środek Z
+
+
+
+ make Compound of Parts
+ Tworzenie zespołu części
+
+
+
+ Load KiCad
+Board .kicad_pcb
+ Załaduj płytkę
+KiCad .kicad_pcb
+
+
+
+ export to KiCad:
+STEP & scaled VRML 1/2.54
+ Eksport do KiCad:
+STEP & skalowany VRML 1/2.54
+
+
+
+ enable loading
+virtual & mechanical
+models
+ Włącz wczytywanie modeli
+wirtualnych i mechanicznych
+
+
+
+ use wrl
+material
+ użyj materiału
+wrl
+
+
+
+ load KiCad footprint
+'kicad_mod'
+ Wczytaj odcisk
+z KiCad "kicad_mod"
+
+
+
+ export STEP Board
+and Parts after loading
+ Eksportuj płytkę i części
+do formatu STEP, po załadowaniu
+
+
+
+ make Union of Parts
+ Złącz części
+
+
+
+ import STEP
+3D model
+ Import obiektu STEP
+modelu 3D
+
+
+
+ export selected objects to STEP
+ eksport wybranych obiektów do pliku STEP
+
+
+
+ create reference Axis
+ Utwórz oś odniesienia
+
+
+
+ Help & starting Guide
+ Pomoc i przewodnik uruchomienia
+
+
+
+ view Config File content
+ Wyświetl zawartość pliku konfiguracyjnego
+
+
+
+ push PCB Edge to KiCad
+from Sketcher to pcbnew
+ Zastosuj PCB Edge do KiCad
+ze Szkicownika do pcbnew
+
+
+
+ collisions result status
+ Stan wyników kolizji
+
+
+
+ NO collisions found
+ Kolizji nie stwierdzono
+
+
+
+
+ check Collisions
+tolerance 1e-06
+ Sprawdź kolizje
+tolerancja 1e-06
+
+
+
+
+ collisions FOUND!
+ Występują kolizje!
+
+
+
+ ksu config ini file
+content
+ KSU zawartość pliku konfiguracyjnego ini
+
+
+
+ Help Start Guide
+ Pomoc — przewodnik startowy
+
+
+
+ Ui_LayerSelection
+
+
+ open in new FreeCAD document
+ Otwórz nowy dokument FreeCAD
+
+
+
+ open in new document
+ Otwórz nowy dokument
+
+
+
+ <html><head/><body><p>replace PCB in current document</p><p><span style=" font-weight:600; color:#aa0000;">N.B.</span> Sketch constrains will be deleted!</p></body></html>
+ <html><head/><body><p>Zastąp PCB w bieżącym dokumencie</p><p><span style=" font-weight:600; color:#aa0000;">Uwaga</span> Wiązania szkicu zostaną usunięte!</p></body></html>
+
+
+
+ replace PCB and Sketch in current document
+ Zastąp PCB i Szkic w bieżącym dokumencie
+
+
+
+ <html><head/><body><p>keep Sketch in current document</p><p><span style=" font-weight:600; color:#aa0000;">N.B.</span> this option will keep Sketch & constrains but replace the PCB</p><p>This could lead to a unsynced Sketch feature</p></body></html>
+ <html><head/><body><p>Zachowaj szkic w bieżącym dokumencie</p><p><span style=" font-weight:600; color:#aa0000;">Uwaga</span> ta opcja zachowa Szkic oraz wiązania, zastępując płytkę drukowaną.</p><p>Może to prowadzić do niezsynchronizowanej funkcji Szkicu.</p></body></html>
+
+
+
+ replace PCB and keep Sketch in curr. doc
+ Zamień płytkę drukowaną i zachowaj szkic w aktualnym dokumencie
+
+
+
+ Ui_LayerSelectionOut
+
+
+ Line Width:
+ Szerokość linii:
+
+
+
+ Line width for drawings
+ Szerokość linii na rysunkach
+
+
+
+ Ui_Offset_value
+
+
+ Offset value
+ Wartość odsunięcia
+
+
+
+ Offset [+/- mm]:
+ Odsunięcie [+/- mm]:
+
+
+
+ Offset value [+/- mm]
+ Wartość odsunięcia [+/- mm]
+
+
+
+ Arc or Intersection Offset method
+ Metoda odsunięcia łuku lub przecięcia
+
+
+
+ Arc
+ Łuk
+
+
+
+ Offset Y [mm]:
+ Odsunięcie Y [mm]:
+
+
+
+ Offset Y value [+/- mm]
+ Wartość odsunięcia Y [+/- mm]
+
+
+
+ approximateCenter
+
+
+ Create Center of Circle through 3 Vertices or Select two vertices to create a mid point or Select a Shape to create a center point
+ Stwórz środek okręgu przez 3 wierzchołki lub
+wybierz dwa wierzchołki, aby utworzyć punkt środkowy,
+albo wybierz kształt, aby utworzyć punkt środkowy.
+
+
+
+ Create Center of Circle through 3 Vertices
+ Utwórz środek okręgu przez 3 wierzchołki
+
+
+
+ checkSolidExpSTEP
+
+
+ Check if the selected part would be
+exported to STEP as a single solid
+ Sprawdź, czy wybrana część zostanie wyeksportowana do STEP
+jako pojedynczy obiekt bryłowy.
+
+
+
+ ksu
+
+
+ PolyLine Contour generated
+
+<b>For PolyLine Pads, please add 'circles' inside each closed polyline</b><br>
+ Wygenerowany kontur PolyLine
+
+<b>W przypadku "padów" PolyLine należy dodać "okręgi" wewnątrz każdej zamkniętej poliginii.</b><br>
+
+
+
+ Select a Sketch and Parameters to<br>move the sketch.<br>Offset X:
+ Wybierz Szkic i Parametry, aby
+przenieść szkic.
+<br>Odsunięcie X:
+
+
+
+ ksuAsm2Part
+
+
+ Convert an Assembly (A3) to Part hierarchy
+ Konwertuj złożenie (A3) na strukturę części
+
+
+
+ ksu Convert an Assembly (A3) to Part hierarchy
+ KSU skonwertuje złożenie (środowiska A3) na strukturę części.
+
+
+
+ ksuImpDXF
+
+
+ Import Legacy DXF
+ Import starszym importerem DXF
+
+
+
+ ksuOpDXF
+
+
+ open Legacy DXF
+ Otwórz starszy importer DXF
+
+
+
+ ksuOpEzDXF
+
+
+ open ezDXF
+ Otwórz ezDXF
+
+
+
+ ksuRemoveSuffix
+
+
+ Remove 'custom' Suffix from Labels
+ Usuń przyrostek "niestandardowy" z etykiet.
+
+
+
+ ksuRemoveTimeStamp
+
+
+ Remove TimeStamp from Labels
+ Usuń znacznik czasu z etykiet.
+
+
+
+ ksuTools
+
+
+ ksu Tools
+ Narzędzia KSU
+
+
+
+ Activate the main
+KiCad StepUp Tools Dialog
+ Aktywuje główne okno dialogowe
+KiCad krok w górę — Narzędzia
+
+
+
+ ksuTools2D2Sketch
+
+
+ 2D to Sketch
+ 2D na Szkic
+
+
+
+ ksu 2D object (or DXF) to Sketch
+ KSU przekonwertuje obiekt 2D (lub DXF) na Szkic
+
+
+
+ ksuTools2DtoFace
+
+
+ 2D to Face
+ 2D na Powierzchnię
+
+
+
+ ksu 2D object (or DXF) to Surface for extruding
+ KSU przekonwertuje obiekt 2D (lub DXF) do powierzchni na potrzeby wyciągnięcia
+
+
+
+ ksuTools3D2D
+
+
+ 3D to 2D
+ 3D na 2D
+
+
+
+ ksu 3D object to 2D projection
+ KSU wykona rzut 2D obiektu przestrzennego
+
+
+
+ ksuToolsAddSilks
+
+
+ ksu tools Add Silks from KiCad exported DXF
+NB: it could be a very intensive loading!
+ Narzędzia KSU: Dodaj maskę lutów z eksportowanego DXF z KiCad.
+Uwaga: może to być bardzo intensywne obciążenie!
+
+
+
+ ksuToolsAddToTree
+
+
+ Add to Tree
+ Dodaj do Widoku drzewa
+
+
+
+ ksu Add Object(s) to Container Tree
+keeping Placement
+First Selection is the Container
+ KSU Dodaj obiekt(y) do drzewa kontenerów
+utrzymując położenie.
+Najpierw zaznacz kontener.
+
+
+
+ ksuToolsAddTracks
+
+
+ ksu tools Add Tracks
+NB: it could be a very intensive loading!
+ Narzędzia KSU: Dodaj ścieżki
+Uwaga: może to być bardzo intensywne obciążenie!
+
+
+
+ ksuToolsAlignView
+
+
+ AlignView to Face
+ Wyrównaj widok do ściany
+
+
+
+ ksu AlignView to Face
+ KSU wyrówna widok do ściany
+
+
+
+ ksuToolsAligner
+
+
+ Manipulator tools 'Aligner'
+ Narzędzia manipulacji: "Wyrównywacz"
+
+
+
+ ksuToolsBsplineNormalize
+
+
+ Geo to Bspline
+ Geometria na krzywą złożoną
+
+
+
+ ksu Convert Geometry to Bspline for KiCAD format
+ KSU konwersja geometrii na krzywą złożoną w formacie KiCad.
+
+
+
+ ksuToolsCaliper
+
+
+ Manipulator tools 'Caliper'
+ Narzędzia manipulacji: "Suwmiarka"
+
+
+
+ ksuToolsCheckSolid
+
+
+ Check Solid property
+ Sprawdź właściwości bryły
+
+
+
+ ksu Check Solid property
+Toggle suffix
+ KSU sprawdzi właściwości bryły.
+Przełącz przyrostek.
+
+
+
+ ksuToolsCollisions
+
+
+ Check Collisions
+ Kontrola kolizji
+
+
+
+ ksu Check Collisions and Interferences
+ KSU sprawdzi występowanie kolizji i przeszkód
+
+
+
+ ksuToolsColoredBinder
+
+
+ Colored Binder
+ Kolorowy łącznik
+
+
+
+ Colored Binder object
+ Utworzy obiekt kolorowego łacznika
+
+
+
+ ksuToolsColoredClone
+
+
+ Colored Clone
+ Kolorowy klon
+
+
+
+ Colored Clone object
+ Utworzy obiekt kolorowego klona
+
+
+
+ ksuToolsComparePositions
+
+
+ tools Compare 3D models Positions
+ Narzędzia Porównanie pozycji modeli 3D
+
+
+
+ ksu Compare 3D models Positions
+Data with the Active Document
+[MCAD Synchronize]
+ KSU porówna dane pozycji modeli 3D
+z aktywnym dokumentem
+[MCAD Synchronize].
+
+
+
+ ksuToolsConstrainator
+
+
+ Constrain a Sketch
+ Wiązania szkicu
+
+
+
+ ksu Fix & auto Constrain a Sketch
+ KSU Popraw i automatycznie nałóż wiązania na szkic
+
+
+
+ ksuToolsContour2Poly
+
+
+ ksu tools 'RF PolyLined Sketch'
+Selection's Shapes to PolyLine Sketch
+ KSU Narzędzia: "RF PolyLined Sketch"
+Wybrane kształty do szkicu jako polilinie.
+
+
+
+ ksuToolsCopyPlacement
+
+
+ Copy Placement 1st to 2nd
+ Kopiuje umiejscowienie pierwszego obiektu do drugiego
+
+
+
+ ksu tools Copy Placement 1st to 2nd
+ KSU Narzędzia: Skopiuj położenie pierwszego do drugiego
+
+
+
+ ksuToolsDeepCopy
+
+
+ PartDN Copy
+ Kopiuj DN części
+
+
+
+ ksu PartDN Copy object
+with relative placement
+[flattened model]
+ KSU DN części: Skopiuje obiekt
+wraz z względnym położeniem
+[spłaszczony model]
+
+
+
+ ksuToolsDefeaturingTools
+
+
+ Defeaturing Tools from Defeaturing WorkBench
+ Narzędzia wygładzania z środowiska pracy Defeaturing
+
+
+
+ ksuToolsDiscretize
+
+
+ Discretize
+ Oddziel
+
+
+
+ ksu Discretize a shape/outline to a Sketch
+ KSU oddzieli kształt / kontur do Szkicu
+
+
+
+ ksuToolsEdges2Sketch
+
+
+ Edges to Sketch
+ Krawędzie do Szkicu
+
+
+
+ ksu Select coplanar edge(s) or Face(s) or
+a single Vertex of a coplanar outline
+to get a corresponding Sketch
+ KSU wybierz współpłaszczyznowe krawędzie lub ściany
+albo pojedynczy wierzchołek współpłaszczyznowego konturu,
+aby uzyskać odpowiadający Szkic.
+
+
+
+ ksuToolsEditPrefs
+
+
+ Edit Preferences
+ Edycja ustawień
+
+
+
+ ksuToolsExplode
+
+
+ ksu Tools PCB Explode
+Select the top container of a KiCad PCB to exlode it
+ KSU Narzędzia: Rozbij PCB
+Wybierz główny kontener płytki PCB z programu KiCad, aby ją rozbić.
+
+
+
+ ksuToolsExport3DStep
+
+
+ Export 3D to STEP
+ Eksportuj obiekt 3D do formatu STEP
+
+
+
+ ksu Export selected objects to STEP Model
+ KSU wyeksportuje wybrane obiekty do modelu Step
+
+
+
+ ksuToolsExportModel
+
+
+ Export 3D Model
+ Eksport modelu 3D
+
+
+
+ ksu Export 3D Model to KiCad
+ KSU wyeksportuje model 3D do KiCad
+
+
+
+ ksuToolsExtrude
+
+
+ ksu tools 'Extrude'
+Extrude selection
+ KSU Narzędzia: "Wyciągnij" wybrany
+
+
+
+ ksuToolsFootprintGen
+
+
+ Footprint generator
+ Generator odcisków
+
+
+
+ ksu Footprint editor and exporter
+ KSU Edycja i kesport odcisków
+
+
+
+ ksuToolsGeneratePositions
+
+
+ tools Generate 3D models Positions
+ Narzędzia Generator pozycji modeli 3D
+
+
+
+ ksu Generate 3D models Positions
+Data for Active Document
+[MCAD Synchronize]
+ KSU wygeneruje pozycje modeli 3D
+Dane dla aktywnego dokumentu
+[Synchronizacja MCAD]
+
+
+
+ ksuToolsHighlightToggle
+
+
+ Highlight Toggle
+ Przełącz podświetlenie
+
+
+
+ ksu Selection Highlight Toggle
+ KSU przełączy podświetlenie wyboru
+
+
+
+ ksuToolsImport3DStep
+
+
+ Import 3D STEP
+ Import 3D STEP
+
+
+
+ ksu Import 3D STEP Model
+ KSU zaimportuje model 3D z pliku STEP
+
+
+
+ ksuToolsImportFootprint
+
+
+ Load FootPrint
+ Wczytaj odcisk
+
+
+
+ ksu Load KiCad PCB FootPrint
+ KSU Wczytaj odcisk płytki drukowanej z KiCad
+
+
+
+ ksuToolsLoadFootprint
+
+
+ Load FootPrint
+ Wczytaj odcisk
+
+
+
+ ksu Load KiCad PCB FootPrint
+ KSU Wczytaj odcisk płytki drukowanej z KiCad
+
+
+
+ ksuToolsLoopSelection
+
+
+ ksu tools 'LoopSelection'
+Loop selection on a xy outline
+ Wybierz narzędzie "Wybór pętli”
+Wybierz pętlę na konturze xy.
+
+
+
+ ksuToolsMakeCompound
+
+
+ Make Compound
+ Utwórz złożenie
+
+
+
+ ksu Make a Compound of selected objects
+ KSU utworzy złożenie z wybranych obiektów
+
+
+
+ ksuToolsMakeUnion
+
+
+ Make Union
+ Utworz scalenie
+
+
+
+ ksu Make a Union of selected objects
+ KSU scali wybrane obiekty
+
+
+
+ ksuToolsMergeSketches
+
+
+ Merge Sketches
+ Połacz szkice
+
+
+
+ ksuToolsMoveSketch
+
+
+ Move Sketch
+ Przesuń szkic
+
+
+
+ ksu Move 2D Sketch
+ KSU Przesuń szkic 2D
+
+
+
+ ksuToolsMover
+
+
+ Manipulator tools 'Mover'
+ Narzędzia manipulacji "Przesuwacz"
+
+
+
+ ksuToolsOffset2D
+
+
+ Offset 2D
+ Odsunięcie 2D
+
+
+
+ ksu Offset 2D object
+ KSU Odsunięcie obiektu 2D
+
+
+
+ ksuToolsOpenBoard
+
+
+ Load Board
+ Wczytaj płytkę
+
+
+
+ ksu Load KiCad PCB Board and Parts
+ KSU załaduje płytę PCB i części z KiCad
+
+
+
+ ksuToolsPullMoved
+
+
+ Pull 3D model(s) placement from PCB
+ Pobierz położenie modeli 3D z płytki PCB
+
+
+
+ ksu Pull 3D model(s) placement from PCB
+ KSU pobierze położenie modeli 3D z płytki PCB
+
+
+
+ ksuToolsPullPCB
+
+
+ Pull Sketch from PCB
+ Pobierz Szkiz z PCB
+
+
+
+ ksu Pull Sketch from PCB Edge
+ KSU pobierze szkic z krawędzi PCB
+
+
+
+ ksuToolsPushMoved
+
+
+ Push 3D moved model(s) to PCB
+ Zastosuj zmiany z modeli 3D do PCB
+
+
+
+ ksu Push 3D moved model(s) to PCB
+ KSU zastosuje zmiany z modeli 3D do PCB
+
+
+
+ ksuToolsPushPCB
+
+
+ Push Sketch to PCB
+ Zastosuj szkic na PCB
+
+
+
+ ksu Push Sketch to PCB Edge
+ KSU zastosuje szkic na PCB
+
+
+
+ ksuToolsReLinkBinder
+
+
+ Relink Binder
+ Przypisz łącznik
+
+
+
+ Relink Binder object Select Binder and an Object to be linked
+ Przypisze ponownie łącznik. Wybierz łącznik oraz obiekt, który ma zostać połączony.
+
+
+
+ ksuToolsRemoveFromTree
+
+
+ Remove from Tree
+ Usuń z drzewa
+
+
+
+ ksu Remove Object(s) from Container Tree
+keeping Placement
+First Selection is the Container
+ KSU Usuń obiek(y z drzewa kontenera,
+zachowując umiejscowienie.
+Najpierw wybierz kontener.
+
+
+
+ ksuToolsRemoveSubTree
+
+
+ Remove Sub Tree
+ Usuń pozycję z drzewa
+
+
+
+ ksuToolsResetPartPlacement
+
+
+ Reset Part Placement
+ Resetuj umiejscowienie części
+
+
+
+ ksu Reset Placement for all Part containers in selection
+ KSU zresetuje położenie dla wszystkich kontenerów części w zaznaczeniu.
+
+
+
+ ksuToolsResetPlacement
+
+
+ Reset Placement
+ Resetuj umiejscowienie
+
+
+
+ ksu Reset Placement for a Shape
+ KSU zresetuje umiejscowienie kształtu
+
+
+
+ ksuToolsSimpleCopy
+
+
+ Simple Copy
+ Prosta kopia
+
+
+
+ ksu Simple Copy object
+ KSU utworzy prostą kopię obiektu
+
+
+
+ ksuToolsSimplifySketck
+
+
+ Simplify Sketch
+ Uprość szkic
+
+
+
+ ksu Simplifying Sketch to Arcs and Lines
+ KSU uprości szkic do łuków i linii.
+
+
+
+ ksuToolsSkValidate
+
+
+ ksu tools 'Sketcher Validate'
+Validate selected Sketch
+ KSU Narzędzia: "Sprawdź poprawność szkicu" Sprawdź wybrany szkic.
+
+
+
+ ksuToolsStepImportModeComp
+
+
+ disable Simplified STEP Import Mode
+ Wyłącz tryb uproszczonego importu plików STEP
+
+
+
+ ksu tools disable Simplified STEP Import Mode
+ KSU wyłączy tryb uproszczonego importu plików STEP
+
+
+
+ ksuToolsStepImportModeSTD
+
+
+ disable Full STEP Import Mode
+ Wyłącz tryb pełnego importu plików STEP
+
+
+
+ ksu tools disable Full STEP Import Mode
+ KSU Narzędzia: Wyłącz tryb pełnego importu plików STEP
+
+
+
+ ksuToolsSync3DModels
+
+
+ Sync 3D model(s) Ref & TimeStamps with PCB
+ Synchronizuj odniesienia 3D modeli i znaczniki czasu z PCB
+
+
+
+ ksu Sync 3D model(s) Ref & TimeStamps
+of the Selected 3D model with KiCad PCB
+ KSU zsynchronizuje odniesienia 3D modeli i znaczniki czasu z PCB KiCad
+
+
+
+ ksuToolsToggleTreeView
+
+
+ Expand/Collapse Tree View
+ Zwiń / rozwiń Widok drzewa
+
+
+
+ ksu tools Expand/Collapse Tree View
+ KSU Narzędzia: Zwiń / rozwiń Widok drzewa
+
+
+
+ ksuToolsTransparencyToggle
+
+
+ Transparency Toggle
+ Przełącz przezroczystość
+
+
+
+ ksu Selection Transparency Toggle
+ KSU Zaznaczenie: Przełącz przezroczystość
+
+
+
+ ksuToolsTurnTable
+
+
+ TurnTable
+ TurnTable
+
+
+
+ ksu TurnTable
+ KSU manipulator TurnTable
+
+
+
+ ksuToolsUnion
+
+
+ Fuse objects
+ Scal obiekt
+
+
+
+ Make Union (Fuse) objects
+ Utworzy scalenie (połączenie) obiektu
+
+
+
+ ksuToolsVisibilityToggle
+
+
+ Visibility Toggle
+ Włącz / wyłącz widoczność
+
+
+
+ ksu Selection Visibility Toggle
+ KSU Zaznaczenie: Przełącz widoczność
+
+
+
diff --git a/translations/update_translation.sh b/translations/update_translation.sh
new file mode 100755
index 0000000..d073238
--- /dev/null
+++ b/translations/update_translation.sh
@@ -0,0 +1,125 @@
+#!/usr/bin/env bash
+
+# --------------------------------------------------------------------------------------------------
+#
+# Update translation files
+#
+# Supported locales on FreeCAD <2024-01-20, FreeCADGui.supportedLocales(), total=40>:
+# {'English': 'en', 'Afrikaans': 'af', 'Arabic': 'ar', 'Basque': 'eu', 'Belarusian': 'be',
+# 'Bulgarian': 'bg', 'Catalan': 'ca', 'Chinese Simplified': 'zh-CN',
+# 'Chinese Traditional': 'zh-TW', 'Croatian': 'hr', 'Czech': 'cs', 'Dutch': 'nl',
+# 'Filipino': 'fil', 'Finnish': 'fi', 'French': 'fr', 'Galician': 'gl', 'Georgian': 'ka',
+# 'German': 'de', 'Greek': 'el', 'Hungarian': 'hu', 'Indonesian': 'id', 'Italian': 'it',
+# 'Japanese': 'ja', 'Kabyle': 'kab', 'Korean': 'ko', 'Lithuanian': 'lt', 'Norwegian': 'no',
+# 'Polish': 'pl', 'Portuguese': 'pt-PT', 'Portuguese, Brazilian': 'pt-BR', 'Romanian': 'ro',
+# 'Russian': 'ru', 'Serbian': 'sr', 'Serbian, Latin': 'sr-CS', 'Slovak': 'sk',
+# 'Slovenian': 'sl', 'Spanish': 'es-ES', 'Spanish, Argentina': 'es-AR', 'Swedish': 'sv-SE',
+# 'Turkish': 'tr', 'Ukrainian': 'uk', 'Valencian': 'val-ES', 'Vietnamese': 'vi'}
+#
+# NOTE: WORKFLOW
+# 0. Install Qt tools
+# Debian-based (e.g., Ubuntu): $ sudo apt-get install qttools5-dev-tools pyqt6-dev-tools
+# Fedora-based: $ sudo dnf install qt6-linguist qt6-devel
+# Arch-based: $ sudo pacman -S qt6-tools python-pyqt6
+# 1. Make the script executable
+# $ chmod +x update_translation.sh
+# 2. Execute the script passing the locale code as first parameter
+# The script has to be executed within the `resources/translations` directory
+# Only update the files you're translating!
+# $ ./update_translation.sh es-ES
+# 3. Do the translation via Qt Linguist and use `File>Release`
+# 4. If releasing with the script execute the script passing the locale code as first parameter
+# and use '-r' flag next
+# $ ./update_translation.sh es-ES -r
+#
+# The usage of `pylupdate6` is preferred over 'pylupdate5' when extracting text strings from
+# Python files.
+#
+# --------------------------------------------------------------------------------------------------
+
+supported_locales=(
+ "en" "af" "ar" "eu" "be" "bg" "ca" "zh-CN" "zh-TW" "hr"
+ "cs" "nl" "fil" "fi" "fr" "gl" "ka" "de" "el" "hu"
+ "id" "it" "ja" "kab" "ko" "lt" "no" "pl" "pt-PT" "pt-BR"
+ "ro" "ru" "sr" "es-ES" "es-AR" "sv-SE" "tr" "uk" "val-ES" "vi"
+)
+
+is_locale_supported() {
+ local locale="$1"
+ for supported_locale in "${supported_locales[@]}"; do
+ if [[ "$supported_locale" == "$locale" ]]; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+get_strings() {
+ # Get translatable strings from ../ui/*.ui Qt Designer files
+ lupdate ../Resources/ui/constrinator-v1.2.ui ../Resources/ui/explode.ui \
+ ../Resources/ui/ksu_prefs.ui ../Resources/ui/STEP-preferences.ui \
+ -ts uifiles.ts -no-obsolete
+ # Get translatable strings from ../../*.py Python files
+ # pylupdate5 -verbose ../*.py -ts pyfiles.ts
+ pylupdate6 ../InitGui.py ../hlp.py \
+ ../kicadStepUptools.py ../kicadStepUpCMD.py \
+ -ts pyfiles.ts
+}
+
+delete_files() {
+ # Delete files that are no longer needed
+ rm uifiles.ts
+ rm pyfiles.ts
+ rm -f _${WB}.ts
+}
+
+add_new_locale() {
+ echo -e "\033[1;33m\n\t<<< Creating '${WB}_${LOCALE}.ts' file >>>\n\033[m"
+ get_strings
+ # Join strings from Qt Designer and Python files into temp file
+ lconvert -i uifiles.ts pyfiles.ts -o _${WB}.ts
+ # Add generic file
+ lconvert -i _${WB}.ts -o ${WB}.ts
+ # Add specified locale file
+ lconvert -source-language en -target-language $LOCALE \
+ -i _${WB}.ts -o ${WB}_${LOCALE}.ts
+}
+
+update_locale() {
+ echo -e "\033[1;32m\n\t<<< Updating '${WB}_${LOCALE}.ts' file >>>\n\033[m"
+ get_strings
+ # Join strings from Qt Designer and Python files
+ lconvert -i uifiles.ts pyfiles.ts -o _${WB}.ts
+ # Join newly created file with older file (-no-obsolete)
+ # Update generic file
+ lconvert -i _${WB}.ts ${WB}.ts -o ${WB}.ts
+ # Update specified locale file
+ lconvert -source-language en -target-language $LOCALE \
+ -i _${WB}.ts ${WB}_${LOCALE}.ts -o ${WB}_${LOCALE}.ts
+}
+
+release_translation() {
+ # Release translation (creation of *.qm file from *.ts file)
+ lrelease ${WB}_${LOCALE}.ts
+}
+
+# Main function ------------------------------------------------------------------------------------
+
+WB="ksu"
+LOCALE="$1"
+
+if is_locale_supported "$LOCALE"; then
+ if [ "$2" == "-r" ]; then
+ release_translation
+ else
+ if [ ! -f "${WB}_${LOCALE}.ts" ]; then
+ add_new_locale
+ else
+ update_locale
+ fi
+ delete_files
+ fi
+else
+ echo "Verify your language code. Case sensitive."
+ echo "If it's correct ask a maintainer to add support for your language on FreeCAD."
+fi