# 3D PCB visualization

**URL:** <https://librepcb.discourse.group/t/3d-pcb-visualization/180>\
**Category:** Project\
**Created:** [January 11, 2020, 9:36pm UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180 "2020-01-11T21:36:11Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![marmni](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/marmni/32/137_2.png) [@marmni](https://librepcb.discourse.group/u/marmni)\
**Post date:** [January 11, 2020, 9:36pm UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/1 "2020-01-11T21:36:11Z")

</div>

Hi,  
very cool software - however files format is a nightmare ;).  
I am the creator of the FreeCAD-PCB add-on that allows you to import PCBs into FreeCAD. I added support for LibrePCB - from now (if anyone is interested in this topic;)) it is possible to load boards directly from the LibrePCB to FreeCAD - for example to create a cover, etc. FreeCAD and FreeCAD-PCB are completely free.

All suggestions and information about errors are welcome.

> **[marmni/FreeCAD-PCB](https://github.com/marmni/FreeCAD-PCB/tree/master)**
>
> FreeCAD-PCB. Contribute to marmni/FreeCAD-PCB development by creating an account on GitHub.

 ![FreePCB_FreeCAD-PCB](https://global.discourse-cdn.com/free1/uploads/librepcb1/original/1X/929bd8470c9f750cb891ebe6ffeacdd8bd862336.png)

---

<div class="post-metadata">

**Author:** ![ubruhin](https://avatars.discourse-cdn.com/v4/letter/u/c89c15/32.png) [@ubruhin](https://librepcb.discourse.group/u/ubruhin)\
**Post date:** [January 15, 2020, 8:58pm UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/2 "2020-01-15T20:58:23Z")

</div>

Hi,

Very nice! Thanks for creating and sharing this tool! 😃  
That’s indeed pretty useful as long as there’s no 3D functionality integrated in LibrePCB.

---

<div class="post-metadata">

**Author:** ![dbrgn](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/dbrgn/32/25_2.png) [@dbrgn](https://librepcb.discourse.group/u/dbrgn)\
**Post date:** [February 3, 2020, 8:31am UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/3 "2020-02-03T08:31:44Z")

</div>

Hi @marmni, that’s nice!

Unfortunately I can’t get it to run. I use FreeCAD 0.18 and installed “pcb” through the addon manager.

I then created a new project, switched to the “Printed Circuit Board” workbench and chose “File \> Import”. There, I picked my project `.lpp`-file. This results in an error message:

```auto
 Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/danilo/.FreeCAD/Mod/pcb/PCBbrd.py", line 30, in <module>
    import builtins
<type 'exceptions.ImportError'>: No module named builtins

```

---

<div class="post-metadata">

**Author:** ![dbrgn](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/dbrgn/32/25_2.png) [@dbrgn](https://librepcb.discourse.group/u/dbrgn)\
**Post date:** [February 3, 2020, 8:33am UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/4 "2020-02-03T08:33:15Z")

</div>

Ah, I just realized that there’s a warning printed when switching to the workbench:

> PCB Workbench: Error. Minimum required Python version: 3.6.

I use the FreeCAD FlatPak package which apparently ships an old version of Python. Maybe you could change the log level of that message from a warning to an error, so that it’s visible in the main window as well, and not just in the terminal?

---

<div class="post-metadata">

**Author:** ![dbrgn](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/dbrgn/32/25_2.png) [@dbrgn](https://librepcb.discourse.group/u/dbrgn)\
**Post date:** [February 3, 2020, 8:38am UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/5 "2020-02-03T08:38:45Z")

</div>

It seems that Python 3.7 should be avaialble 😕 From the Python shell inside FreeCAD:

```
>>> [d for d in os.listdir("/usr/bin/") if 'python' in d]
['python3.7m-config', 'python3.7-config', 'python3.7', 'python3', 'python3-config', 'python3.7m']
```

---

<div class="post-metadata">

**Author:** ![marmni](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/marmni/32/137_2.png) [@marmni](https://librepcb.discourse.group/u/marmni)\
**Post date:** [February 3, 2020, 3:51pm UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/6 "2020-02-03T15:51:39Z")

</div>

Hi,  
thanks for feedback. For sure you have FC0.18 without support for python 3.6 (FC \>= 18. **4** as I remember) - but from now on it is not a problem.  
I have added support for python 2.7 (FC 0.18 is still required): [https://github.com/marmni/FreeCAD-PCB/tree/testing](https://github.com/marmni/FreeCAD-PCB/tree/testing) (this is testing version - at the moment not available in addon manager). Tested on debian with FC\_0.18 and python 2.7.

A supported version of Python can be found in the FC console.  
 ![fc_python](https://global.discourse-cdn.com/free1/uploads/librepcb1/original/1X/cae5e7933dc9bf6b9dcb83b592698d224ba99732.png)

---

<div class="post-metadata">

**Author:** ![dbrgn](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/dbrgn/32/25_2.png) [@dbrgn](https://librepcb.discourse.group/u/dbrgn)\
**Post date:** [February 11, 2020, 9:19pm UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/7 "2020-02-11T21:19:18Z")

</div>

Nice 🙂

 ![2020-02-11-221831_1438x1063_scrot](https://global.discourse-cdn.com/free1/uploads/librepcb1/original/1X/dc9314ee1b832a30e1162df600a1045351a6bb81.png)

Assigning Packages seems to be a bit buggy though, probably due to Python 2 issues.

In my opinion you shouldn’t waste much time on Python support though, the packaging issue I’m having will resolve itself in the future.

---

<div class="post-metadata">

**Author:** ![marmni](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/marmni/32/137_2.png) [@marmni](https://librepcb.discourse.group/u/marmni)\
**Post date:** [February 13, 2020, 10:15pm UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/8 "2020-02-13T22:15:55Z")

</div>

Hi,  
you are right - I missed some errors. On github you will find update.

---

<div class="post-metadata">

**Author:** ![gx-turbo](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/gx-turbo/32/356_2.png) [@gx-turbo](https://librepcb.discourse.group/u/gx-turbo)\
**Post date:** [January 14, 2023, 1:03pm UTC](https://librepcb.discourse.group/t/3d-pcb-visualization/180/9 "2023-01-14T13:03:10Z")

</div>

hi,  
I am wondering, it should be more than “3D PCB visualization”. It should be possible to create enclosures and boxes and other things based on PCB data, right?  
rgds Gerd
