KicadStepUp Workbench/es: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
[[Image:Kicad-StepUp-tools-WB.svg|thumb|128px|KicadStepUp Icono del ambiente de trabajo externo]]


[[Image:Kicad-StepUp-tools-WB.svg|thumb|128px|Icono del entorno de trabajo externo KicadStepUp]]
==Introducción==


{{TOCright}}
{{TOCright}}


<span id="Introduction"></span>
<div class="mw-translate-fuzzy">
==Introducción==
KicadStepUp ambiente de trabajo tiene como objetivo ayudar a los usuarios de KiCad y FreeCAD a colaborar en el diseño eléctrico (ECAD) y mecánico (MCAD).

</div>
KicadStepUp es un entorno de trabajo que tiene como objetivo ayudar a los usuarios de KiCad y FreeCAD a colaborar en el diseño eléctrico (ECAD) y mecánico (MCAD).


<span id="Background"></span>
==Fondo==
==Fondo==


<div class="mw-translate-fuzzy">
Kicad ([https://kicad-pcb.org/ website]) es una suite de automatización del diseño electrónico de código abierto. Permite diseñar un circuito eléctrico y crear una placa de circuito de una o varias capas utilizando una amplia biblioteca de piezas. Lo mejor es que el uso de FreeCAD y KicadStepUp ambiente de trabajo es la forma oficial de Kicad para crear piezas 3D de componentes eléctricos para Kicad. Las bibliotecas están alojadas [https://kicad.github.io/ aquí], por lo que todo el mundo puede crear y comprobar las piezas.
KiCad ([https://kicad-pcb.org/ website]) es una suite de automatización del diseño electrónico de código abierto. Permite al usuario diseñar un circuito eléctrico y después crear una placa de circuito (PCB) de una o varias capas utilizando una amplia biblioteca de piezas. Lo mejor es que el uso de FreeCAD con el entorno de trabajo KicadStepUp es la forma oficial de Kicad para crear piezas 3D de componentes electrónicos para Kicad. Las bibliotecas están alojadas [https://kicad.github.io/ aquí], por lo que todo el mundo puede crear y comprobar las piezas.
</div>

La filosofía de la interfaz gráfica de KiCad es un poco diferente en comparación con FreeCAD, especialmente cuando se trata de crear y mover elementos. Sin embargo, ya que Kicad se utiliza en la producción desde hace años hay una excelente documentación, por ejemplo, un documento muy bueno "Cómo empezar". Además, cada herramienta tiene su propio manual.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Si uno no conoce todavía [https://kicad.org/ KiCad], se recomienda completar un PCB independiente de acuerdo con la [https://docs.kicad.org/8.0/en/getting_started_in_kicad/getting_started_in_kicad.html Guía de inicio] para entender los conceptos involucrados. Aunque algunos temas como la adición de nuevos esquemas y huellas (Inglés:footprints) a una biblioteca local parecen ser de poco interés para el principiante, en la práctica se encuentran rápidamente después de comenzar un proyecto serio.
La filosofía de la interfaz gráfica de KiCAD es un poco diferente en comparación con FreeCAD, especialmente cuando se trata de crear elementos y moverlos. Sin embargo, ya que Kicad se utiliza en la producción desde hace años hay una excelente documentación, por ejemplo, un documento muy bueno "Cómo empezar". Además, cada herramienta tiene su propio manual.
</div>
</div>


Para todos estos conceptos de [https://kicad.org/ KiCad] se puede encontrar una característica de algún tipo en el entorno de trabajo KicadStepUp. Entonces, conocerlos hace que sea mucho más fácil entender cómo usar este entorno de trabajo.
Si uno no conoce todavía [https://kicad-pcb.org/ Kicad], se recomienda completar un PCB autónomo de acuerdo con la [https://docs.kicad-pcb.org/5.1/en/getting_started_in_kicad/getting_started_in_kicad.pdf Guía de inicio] para entender los conceptos involucrados. Aunque algunos temas como la adición de nuevos esquemas y huellas (Inglés:footprints) a una biblioteca local parecen ser de poco interés para el principiante, en la práctica se encuentran rápidamente después de comenzar un proyecto serio.
Para todos estos conceptos [https://kicad-pcb.org/ Kicad] se puede encontrar una función de algún tipo en el ambiente de trabajo KicadStepUp. Por lo tanto, conocer estos conceptos hace que sea mucho más fácil de entender cómo utilizar este ambiente de trabajo.


<span id="Features"></span>
==Características==
==Características==


{{emphasis|En progreso}}
{{emphasis|En progreso}}


* Load kicad board and parts in FreeCAD and export it to STEP (or IGES) for a full ECAD MCAD collaboration
* Cargue la placa de KiCad y partes en FreeCAD y expórtelas a STEP (o IGES) para una colaboración ECAD MCAD completa.
* Cargue la huella de KiCad en FreeCAD para alinear de manera fácil y precisa el modelo mecánico con la huella de KiCad
* Load kicad_mod footprint in FreeCAD to easy and precisely align the mechanical model to kicad footprint
* Convert the STEP 3D model of parts, board, enclosure to VRML with Materials properties for the best use in kicad
* Convierta el modelo STEP 3D de partes, placas y gabinetes a VRML con propiedades de materiales para un mejor uso en KiCad.
* Verifique las interferencias y colisiones para el diseño del gabinete y la huella.
* Check interference and collisions for enclosure and footprint design
* Diseñe un nuevo borde de PCB con el [[Sketcher_Workbench/es|entorno de trabajo Sketcher]] de FreeCAD y ENVÍELO a una placa de PCB KiCad existente
* Design a new pcb Edge with FreeCAD Sketcher and PUSH it to an existing kicad_pcb Board
* PULL a pcb Edge from a kicad_pcb Board, edit it in FC Sketcher and PUSH it back to kicad
* RECIBA un borde de PCB de una placa PCB KiCad, edítelo en Sketcher Workbench de FreeCAD y ENVÍE de nuevo a KiCad
* Design a new footprint in FreeCAD to get the power of Sketch in footprints
* Diseñe una nueva huella en FreeCAD para obtener el poder de un croquis en las huellas
* Genere archivos VRML compatibles con Blender
* Generate Blender compatible VRML files


[[File:ECAD-MCAD-collaboration.png|800px]]
[[File:ECAD-MCAD-collaboration.png|800px]]


<span id="Installation"></span>

==Instalación==
==Instalación==


KicadStepUp es parte de los [[external workbenches/es|Ambientes de trabajo externos]], y puede instalarse automáticamente usando el [[Image:AddonManager.svg|24px]] [[Addon Manager/es|Gestor de complementos de FreeCAD]] que viene incluido con FreeCAD 0.17, en el menú {{MenuCommand|Herramientas → Gestor de complementos}}.
KicadStepUp es parte de los [[External_workbenches/es|entornos de trabajo externos]], y puede instalarse automáticamente usando el [[Image:Std_AddonMgr.svg|24px]] [[Std_AddonMgr/es|Gestor de complementos de FreeCAD]] que viene incluido con FreeCAD 0.17 en adelante, en el menú {{MenuCommand|Herramientas → Administrador de complementos}}.

<span id="Usage"></span>
==Uso==


==Utilización==
{{emphasis|En progreso}}
{{emphasis|En progreso}}


<span id="General_Approach"></span>
=== General Approach ===
=== Enfoque general ===
The basic idea of KicadStepUp is to synchronise data between the two applications. For home use you might have open FreeCAD and Kicad at the same time. Professional use work on the same files (e.g. on a central server) and have specialists on mechanical CAD (MCAD) working in FreeCAD and electronics experts on electrical CAD (ECAD).


The basic idea of KicadStepUp is to synchronize data between the two applications. For home use you might have FreeCAD and KiCad running at the same time. Professional users can work on the same files (e.g. on a central server) and have specialists on mechanical CAD (MCAD) working in FreeCAD and electronics experts on electrical CAD (ECAD).
KicadStepUp will converts standard FreeCAD files to Kicad files and vise versa. That way each application can work with its native data files. Projects can be used without the other application or KicadStepUp installed. That also the reason, that no plugin on the Kicad side is required.


KicadStepUp will convert standard FreeCAD files to KiCad files and vice versa. That way each application can work with its native data files. Projects can be used without the other application or KicadStepUp installed. That is also the reason that no plugin on the KiCad side is required.
Undestanding the fine details of the workflow its helpful to note that the differences between the two programs impose some difficulties for a full data exchange.<br> One example is that the Sketcher used in Kicad to define the board outline is much more limited compared to the FreeCAD Sketcher, so in order to synchronise back and forth the model content can not be more complex than the Kicad Sketcher can handle. From a FreeCAD point of view, that means you may loose data. KicadStepUp offers workarounds that might be more difficult to understand if you do not have this background.


It's important to note that the differences between the two programs impose some difficulties for a full data exchange.<br> One example is that the Sketcher used in KiCad to define the board outline is very limited compared to the Sketcher Workbench of FreeCAD. So in order to synchronize back and forth, the sketch content cannot be more complex than the KiCad Sketcher can handle. From a FreeCAD point of view, that means you may want to avoid using some of the FreeCAD sketch features. KicadStepUp offers workarounds that might be more difficult to understand if you do not have this background.
=== Basic Workflow ===
A a collaboration can be started with a new or an existing project. We consider here a new project to keep things simple:


<span id="Basic_Workflow"></span>
# Create a new Kicad Project anywhere you like. Lets name it "KsuTest"
=== Flujo de trabajo básico ===

A collaboration can be started with a new or an existing project. We consider here a new project to keep things simple:

# Create a new KiCad Project anywhere you like. Lets name it "KsuTest"
# Open the PCB Editor and create on the layer "Edit.Cuts" a closed outline. Shape does not matter, we will overwrite it anyway.
# Open the PCB Editor and create on the layer "Edit.Cuts" a closed outline. Shape does not matter, we will overwrite it anyway.
# Create a new FreeCAD file for the PCB, the name does not matter. *
# Create a new FreeCAD file for the PCB, the name does not matter. *
# Create a sketch with an outline of the desired PCB. Lets name it "pcb design" (but could be any other name) and put at least one circle into it for a hole.
# Create a sketch with an outline of the desired PCB. Lets name it "pcb design" (but could be any other name) and put at least one circle into it for a hole.
#: you may use any FreeCAD features to include holes, cutouts and outer shape to other components you might have. We assume here you would use Sketcher features as Dimensioning, Constraints and Work geometry in your sketch.
#: you may use any FreeCAD features to include holes, cutouts, and outer shape to other components you might have. We assume here you would use Sketcher features as Dimensioning, Constraints and Work geometry in your sketch.
#: If you are using PartDesign WB for creating the sketch there is no need to create a PartDesign body, since we are not going to pad this sketch.
#: If you are using PartDesign Workbench for creating the sketch there is no need to create a PartDesign body, since we are not going to pad this sketch.
# Switch to the KicadStepUp Workbech
# Switch to the KicadStepUp Workbech
# Select the "pcb design" sketch
# Select the "pcb design" sketch
# Select the Toolbar button "Push Sketch to PCB Edge" or the menu ''ksu PushPull/ksu Push Sketch to PCB''
# Select the Toolbar button "Push Sketch to PCB Edge" or the menu ''ksu PushPull/ksu Push Sketch to PCB''
#* first a dialog will open with defaults "Edge.Cuts" for layer and "0.16" for line width. Keep those defaults.
#* first a dialog will open with defaults "Edge.Cuts" for layer and "0.16" for line width. Keep those defaults.
#* next a file dialog will open. Click to your Kicad "KsuTest" project, where you should see a file "KsuTest.kucad_pcb". That is the PCB file with the temporary outline we created before. Select is and confirm to replace the old file. <br>Now a dialog should say "new Edge pushed to kicad board!"
#* next a file dialog will open. Click to your KiCad "KsuTest" project, where you should see a file "KsuTest.kucad_pcb". That is the PCB file with the temporary outline we created before. Select it and confirm to replace the old file. <br>Now a dialog should say "new Edge pushed to kicad board!"
#*: if you forgot the 2nd step, you the push operation might fail as a pcb file must exist and it must not be empty.
#*: if you forgot the 2nd step, the push operation might fail as a pcb file must exist and it must not be empty.
# Cloase and re-open the PCB Editor in Kicad. **
# Close and re-open the PCB Editor in KiCad. **
#: The shape from the FreeCAD sketch should appear.
#: The shape from the FreeCAD sketch should appear.
# go over the circle with the mouse and press ''m'' on the keyboard to move the circle. Click to place to another position. Press the save toolbar button on the top left.
# Go over the circle with the mouse and press ''m'' on the keyboard to move the circle. Click to place it in another position. Press the "Save" toolbar button on the top left.
# Switch to FreeCAD and select in the KicadStepUp Workbech the tool button "Pull Sketch from PCB" or the menu ''ksu PushPull/ksu Pull Sketch from PCB''
# Switch to FreeCAD and select in the KicadStepUp Workbech the tool button "Pull Sketch from PCB" or the menu ''ksu PushPull/ksu Pull Sketch from PCB''
#* first dialog with default layer "Edge.Cuts" and three choices will open. Select choice "replace PCB and Sketch in current document" ***
#* first dialog with default layer "Edge.Cuts" and three choices will open. Select choice "replace PCB and Sketch in current document" ***
#* next a file dialog should show again the file "KsuTest.kucad_pcb". Select it and press ''Open''
#* next a file dialog should show again the file "KsuTest.kucad_pcb". Select it and press ''Open''
#*: You should see your PCB as 3D model. Note that the hole has moved compared to you "pcb design" sketch.
#*: You should see your PCB as a 3D model. Note that the hole has moved compared to your "pcb design" sketch.
#*: In the tree appears a new structure with a yellow ''Part Container'' with the Kicad Filename and within another ''Part Container'' with "Board_Geoms_e63b" (the part with the number probably different). In the second container there are the following three files. Do not change any names in that structure, because KicadStepUp uses them to find the parts to update. <br>
#*: In the tree appears a new structure with a yellow ''Part Container'' with the KiCad Filename and within another ''Part Container'' with "Board_Geoms_e63b" (the part with the number probably different). In the second container there are the following three files. Do not change any names in that structure, because KicadStepUp uses them to find the parts to update. <br>
#*: Do not forget to save your file
#*: Do not forget to save your file

::<source>
<pre>
Local_CS_e63b the PCB origin.
Local_CS_e63b the PCB origin.
same as the origin in "pcb design" sketch
same as the origin in "pcb design" sketch
Pcb_e63b 3D object with the PCB.
Pcb_e63b 3D object with the PCB.
Don't edit, it will be overwritten by KicadStepUp
Don't edit, it will be overwritten by KicadStepUp
PCB_Sketch_e63b sketch with all part of "pcb design" sketch that Kicad recognized.
PCB_Sketch_e63b sketch with all parts of "pcb design" sketch that KiCad recognized.
all other were deleted. Also note that if you change this sketch
all others were deleted. Also note that if you change this sketch
and recalculate 3D object will not change.
and recalculate, the 3D object will not change.
</source>
</pre>
Try to make another PushPull round trip: adjust you "pcb design" sketch to the changes from Kicad, add some other change and start again. Do that a few times to appreciate how quickly and naturally this procedure becomes in a very short time.


Try to make another PushPull round trip: adjust your "pcb design" sketch to the changes from KiCad, add some other change and start again. Do that a few times to appreciate how quickly and naturally this procedure becomes in a very short time.
Now you can use the new 3D PCB file to align 3D components as connectors, buttons, switches, fasteners, etc. or add this to your assembly if you have a larger project.


Now you can use the new 3D PCB file to align 3D components as connectors, buttons, switches, fasteners, etc., or add it to your assembly if you have a larger project.
This only shows the very basic way KicadStepUp works. Your are still missing a lot at this point, e.g. footprints and 3D parts. But from there its a lot easier to start exploring KicadStepUp on your own. Use the documentation PDF file in the menu ''ksu Tools/Demo''


This only shows the very basic way KicadStepUp works. You are still missing a lot at this point, e.g., footprints and 3D parts, but from here it's a lot easier to start exploring KicadStepUp on your own. Use the documentation PDF file in the menu ''ksu Tools/Demo''


:''Notes:
:''Notes:
:* As long as the name of the created strucure (and its parts) is unchanged any workflow interactions will just update the structure. If you change any names, a new structure will be created each time.
:* As long as the name of the created structure (and its parts) is unchanged, any workflow interactions will just update the structure. If you change any names, a new structure will be created each time.
:* It is not required to have Kicad running to update Kicad project files. Actually, Kicad does not even have to be installed on the PC.
:* It is not required to have KiCad running to update KiCad project files. Actually, KiCad does not even have to be installed on the PC.
:* The standard approach is to use the same sketch on both sides Kicad and Freecad. Any changes will be synchronized to the other application. This is the most natural and clean way to work with KicadStepUp<br>However, this causes a problem if you want to use any of the following features in your sketch definting you PCB shape: dimensions, geometry constraints, work geometry (blue lines) or external linked geometry. There is no clean way to do this, because Kicad does not know any of the features. That means that on the round trip between the applications any of those features will be deleted. There is not real solution for that problem, just a selection of one of several workarounds. So if you want to use any of those features that means you define the PCB shape in FreeCAD only and sync in one way to Kicad. Any outline changes done in Kicad need to be added manually on the FreeCAD side. This might make sense, e.g. if future changes from the mechanical side are much more likely than from the electrical side. There several ways to do it
:* The standard approach is to use the same sketch on both sides, KiCad and Freecad. Any changes will be synchronized to the other application. This is the most natural and clean way to work with KicadStepUp .<br>However, this causes a problem if you want to use any of the following features in your sketch to define your PCB shape: dimensions, geometry constraints, construction geometry (blue lines), or external linked geometry. There is no clean way to do this, because KiCad does not know any of those features. That means that on the round trip between the applications, any of those features will be deleted. There is no real solution for that problem, just a selection of one of several workarounds. So if you want to use any of those features, that means you must define the PCB shape in FreeCAD only and sync in one direction toward KiCad. Any outline changes done in KiCad need to be added manually on the FreeCAD side. This might make sense, e.g. if future changes from the mechanical side are much more likely than from the electrical side. There several ways to do it:
:** Put the design sketch inside the KicadStepUp structure, an select "replace PCB and keep Sketch in curr. doc" every time you import back from Kicad.
:** Put the design sketch inside the KicadStepUp structure, and select "replace PCB and keep Sketch in curr. doc" every time you import back from Kicad.
:** Keep the design sketch outside the KicadStepUp structure. Ignore the sketch imported from Kicad.
:** Keep the design sketch outside the KicadStepUp structure. Ignore the sketch imported from KiCad.
::The second choice has the advantag that changes in Kicad can be traced to the original sketch and the FreeCAD sketch is protected against an accidently wrong import choice. The described workflow uses this approach to make sure the issue is well understood. From there its easy to switch to modifying the KicadStepUp supplied sketch with none of the more advanced FreeCAD features.
::The second choice has the advantage that changes in KiCad can be traced to the original sketch, and the FreeCAD sketch is protected against an accidentally wrong import choice. The described workflow uses this approach to make sure the issue is well understood. From there it's easy to switch to modifying the KicadStepUp supplied sketch with none of the more advanced FreeCAD features.
:* To use KicadStepUp with a FreeCAD assembly (> V0.19) you could add a new file for the PCB. After the workflow above has been run once add the 3D object for the PCB to your assembly like any other mechanical part. Make sure you save the file when it was updated by KicadStepUp (KicadStepUp writes to FreeCAD memory not to FreeCAD files).
:* To use KicadStepUp with a FreeCAD assembly (> V0.19) you could add a new file for the PCB. After the workflow above has been run once add the 3D object for the PCB to your assembly like any other mechanical part. Make sure you save the file when it was updated by KicadStepUp (Important: KicadStepUp writes to FreeCAD memory, not to FreeCAD files).
''
''


Consulte la [https://github.com/easyw/kicadStepUpMod/blob/master/demo/kicadStepUp-cheat-sheet.pdf ficha de ayuda de KicadStepUp] para conocer las demás características.


<span id="References"></span>
Consulte la [https://github.com/easyw/kicadStepUpMod/blob/master/demo/kicadStepUp-cheat-sheet.pdf kicadStepUp ficha de ayuda] para conocer las demás características.

==Referencias==
==Referencias==


Line 110: Line 121:
* Código fuente en GitHub: https://github.com/easyw/kicadStepUpMod
* Código fuente en GitHub: https://github.com/easyw/kicadStepUpMod


<span id="Side_Note_about_External_workbenches"></span>
== Nota al margen sobre los ambientes de trabajo externos ==
== Nota al margen sobre los ambientes de trabajo externos ==


Line 116: Line 128:
La página [[external workbenches/es|Ambientes de trabajo externos]] tiene información y tutoriales sobre algunos de ellos, y el proyecto [https://github.com/FreeCAD/FreeCAD-addons FreeCAD Complementos] pretende reunirlos y hacerlos fácilmente instalables desde FreeCAD.
La página [[external workbenches/es|Ambientes de trabajo externos]] tiene información y tutoriales sobre algunos de ellos, y el proyecto [https://github.com/FreeCAD/FreeCAD-addons FreeCAD Complementos] pretende reunirlos y hacerlos fácilmente instalables desde FreeCAD.


Nuevos ambientes de trabajo están en desarrollo, esté atento!
Nuevos ambientes de trabajo están en desarrollo, ¡esté atento!



{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 09:00, 12 March 2024

Other languages:
Icono del entorno de trabajo externo KicadStepUp

Introducción

KicadStepUp es un entorno de trabajo que tiene como objetivo ayudar a los usuarios de KiCad y FreeCAD a colaborar en el diseño eléctrico (ECAD) y mecánico (MCAD).

Fondo

KiCad (website) es una suite de automatización del diseño electrónico de código abierto. Permite al usuario diseñar un circuito eléctrico y después crear una placa de circuito (PCB) de una o varias capas utilizando una amplia biblioteca de piezas. Lo mejor es que el uso de FreeCAD con el entorno de trabajo KicadStepUp es la forma oficial de Kicad para crear piezas 3D de componentes electrónicos para Kicad. Las bibliotecas están alojadas aquí, por lo que todo el mundo puede crear y comprobar las piezas.

La filosofía de la interfaz gráfica de KiCad es un poco diferente en comparación con FreeCAD, especialmente cuando se trata de crear y mover elementos. Sin embargo, ya que Kicad se utiliza en la producción desde hace años hay una excelente documentación, por ejemplo, un documento muy bueno "Cómo empezar". Además, cada herramienta tiene su propio manual.

Si uno no conoce todavía KiCad, se recomienda completar un PCB independiente de acuerdo con la Guía de inicio para entender los conceptos involucrados. Aunque algunos temas como la adición de nuevos esquemas y huellas (Inglés:footprints) a una biblioteca local parecen ser de poco interés para el principiante, en la práctica se encuentran rápidamente después de comenzar un proyecto serio.

Para todos estos conceptos de KiCad se puede encontrar una característica de algún tipo en el entorno de trabajo KicadStepUp. Entonces, conocerlos hace que sea mucho más fácil entender cómo usar este entorno de trabajo.

Características

En progreso

  • Cargue la placa de KiCad y partes en FreeCAD y expórtelas a STEP (o IGES) para una colaboración ECAD MCAD completa.
  • Cargue la huella de KiCad en FreeCAD para alinear de manera fácil y precisa el modelo mecánico con la huella de KiCad
  • Convierta el modelo STEP 3D de partes, placas y gabinetes a VRML con propiedades de materiales para un mejor uso en KiCad.
  • Verifique las interferencias y colisiones para el diseño del gabinete y la huella.
  • Diseñe un nuevo borde de PCB con el entorno de trabajo Sketcher de FreeCAD y ENVÍELO a una placa de PCB KiCad existente
  • RECIBA un borde de PCB de una placa PCB KiCad, edítelo en Sketcher Workbench de FreeCAD y ENVÍE de nuevo a KiCad
  • Diseñe una nueva huella en FreeCAD para obtener el poder de un croquis en las huellas
  • Genere archivos VRML compatibles con Blender

Instalación

KicadStepUp es parte de los entornos de trabajo externos, y puede instalarse automáticamente usando el Gestor de complementos de FreeCAD que viene incluido con FreeCAD 0.17 en adelante, en el menú Herramientas → Administrador de complementos.

Uso

En progreso

Enfoque general

The basic idea of KicadStepUp is to synchronize data between the two applications. For home use you might have FreeCAD and KiCad running at the same time. Professional users can work on the same files (e.g. on a central server) and have specialists on mechanical CAD (MCAD) working in FreeCAD and electronics experts on electrical CAD (ECAD).

KicadStepUp will convert standard FreeCAD files to KiCad files and vice versa. That way each application can work with its native data files. Projects can be used without the other application or KicadStepUp installed. That is also the reason that no plugin on the KiCad side is required.

It's important to note that the differences between the two programs impose some difficulties for a full data exchange.
One example is that the Sketcher used in KiCad to define the board outline is very limited compared to the Sketcher Workbench of FreeCAD. So in order to synchronize back and forth, the sketch content cannot be more complex than the KiCad Sketcher can handle. From a FreeCAD point of view, that means you may want to avoid using some of the FreeCAD sketch features. KicadStepUp offers workarounds that might be more difficult to understand if you do not have this background.

Flujo de trabajo básico

A collaboration can be started with a new or an existing project. We consider here a new project to keep things simple:

  1. Create a new KiCad Project anywhere you like. Lets name it "KsuTest"
  2. Open the PCB Editor and create on the layer "Edit.Cuts" a closed outline. Shape does not matter, we will overwrite it anyway.
  3. Create a new FreeCAD file for the PCB, the name does not matter. *
  4. Create a sketch with an outline of the desired PCB. Lets name it "pcb design" (but could be any other name) and put at least one circle into it for a hole.
    you may use any FreeCAD features to include holes, cutouts, and outer shape to other components you might have. We assume here you would use Sketcher features as Dimensioning, Constraints and Work geometry in your sketch.
    If you are using PartDesign Workbench for creating the sketch there is no need to create a PartDesign body, since we are not going to pad this sketch.
  5. Switch to the KicadStepUp Workbech
  6. Select the "pcb design" sketch
  7. Select the Toolbar button "Push Sketch to PCB Edge" or the menu ksu PushPull/ksu Push Sketch to PCB
    • first a dialog will open with defaults "Edge.Cuts" for layer and "0.16" for line width. Keep those defaults.
    • next a file dialog will open. Click to your KiCad "KsuTest" project, where you should see a file "KsuTest.kucad_pcb". That is the PCB file with the temporary outline we created before. Select it and confirm to replace the old file.
      Now a dialog should say "new Edge pushed to kicad board!"
      if you forgot the 2nd step, the push operation might fail as a pcb file must exist and it must not be empty.
  8. Close and re-open the PCB Editor in KiCad. **
    The shape from the FreeCAD sketch should appear.
  9. Go over the circle with the mouse and press m on the keyboard to move the circle. Click to place it in another position. Press the "Save" toolbar button on the top left.
  10. Switch to FreeCAD and select in the KicadStepUp Workbech the tool button "Pull Sketch from PCB" or the menu ksu PushPull/ksu Pull Sketch from PCB
    • first dialog with default layer "Edge.Cuts" and three choices will open. Select choice "replace PCB and Sketch in current document" ***
    • next a file dialog should show again the file "KsuTest.kucad_pcb". Select it and press Open
      You should see your PCB as a 3D model. Note that the hole has moved compared to your "pcb design" sketch.
      In the tree appears a new structure with a yellow Part Container with the KiCad Filename and within another Part Container with "Board_Geoms_e63b" (the part with the number probably different). In the second container there are the following three files. Do not change any names in that structure, because KicadStepUp uses them to find the parts to update.
      Do not forget to save your file
Local_CS_e63b      the PCB origin.
                     same as the origin in "pcb design" sketch
Pcb_e63b           3D object with the PCB.
                      Don't edit, it will be overwritten by KicadStepUp
PCB_Sketch_e63b    sketch with all parts of "pcb design" sketch that KiCad recognized.
                      all others were deleted. Also note that if you change this sketch
                      and recalculate, the 3D object will not change.

Try to make another PushPull round trip: adjust your "pcb design" sketch to the changes from KiCad, add some other change and start again. Do that a few times to appreciate how quickly and naturally this procedure becomes in a very short time.

Now you can use the new 3D PCB file to align 3D components as connectors, buttons, switches, fasteners, etc., or add it to your assembly if you have a larger project.

This only shows the very basic way KicadStepUp works. You are still missing a lot at this point, e.g., footprints and 3D parts, but from here it's a lot easier to start exploring KicadStepUp on your own. Use the documentation PDF file in the menu ksu Tools/Demo

Notes:
  • As long as the name of the created structure (and its parts) is unchanged, any workflow interactions will just update the structure. If you change any names, a new structure will be created each time.
  • It is not required to have KiCad running to update KiCad project files. Actually, KiCad does not even have to be installed on the PC.
  • The standard approach is to use the same sketch on both sides, KiCad and Freecad. Any changes will be synchronized to the other application. This is the most natural and clean way to work with KicadStepUp .
    However, this causes a problem if you want to use any of the following features in your sketch to define your PCB shape: dimensions, geometry constraints, construction geometry (blue lines), or external linked geometry. There is no clean way to do this, because KiCad does not know any of those features. That means that on the round trip between the applications, any of those features will be deleted. There is no real solution for that problem, just a selection of one of several workarounds. So if you want to use any of those features, that means you must define the PCB shape in FreeCAD only and sync in one direction toward KiCad. Any outline changes done in KiCad need to be added manually on the FreeCAD side. This might make sense, e.g. if future changes from the mechanical side are much more likely than from the electrical side. There several ways to do it:
    • Put the design sketch inside the KicadStepUp structure, and select "replace PCB and keep Sketch in curr. doc" every time you import back from Kicad.
    • Keep the design sketch outside the KicadStepUp structure. Ignore the sketch imported from KiCad.
The second choice has the advantage that changes in KiCad can be traced to the original sketch, and the FreeCAD sketch is protected against an accidentally wrong import choice. The described workflow uses this approach to make sure the issue is well understood. From there it's easy to switch to modifying the KicadStepUp supplied sketch with none of the more advanced FreeCAD features.
  • To use KicadStepUp with a FreeCAD assembly (> V0.19) you could add a new file for the PCB. After the workflow above has been run once add the 3D object for the PCB to your assembly like any other mechanical part. Make sure you save the file when it was updated by KicadStepUp (Important: KicadStepUp writes to FreeCAD memory, not to FreeCAD files).

Consulte la ficha de ayuda de KicadStepUp para conocer las demás características.

Referencias

Nota al margen sobre los ambientes de trabajo externos

Los ambientes de trabajo de FreeCAD son fáciles de programar en Python, por lo que hay mucha gente desarrollando ambientes de trabajo adicionales fuera de los desarrolladores principales de FreeCAD.

La página Ambientes de trabajo externos tiene información y tutoriales sobre algunos de ellos, y el proyecto FreeCAD Complementos pretende reunirlos y hacerlos fácilmente instalables desde FreeCAD.

Nuevos ambientes de trabajo están en desarrollo, ¡esté atento!