Comments (16)
Hi,
I tried what was explained here with my PSOne RPi Compute Module board.
This is my result... (the board is not done yet)
If you guys like it and need help with that let me know, i could do a render or 2 for you.
from cm4_matx.
HACKADAY just posted the online workshop KiCad to Blender: Photorealistic PCB Renders on Youtube which led to the repo @volkertb mentioned a month ago.
from cm4_matx.
If anyone wants to do this, I'd love to see it. Ultimately, I don't think this is something that I'd put a whole lot of effort into, seeing as the KiCad renders will likely be fine for most things. But as ever, contributions are welcome!
from cm4_matx.
this link might also be useful: https://wyolum.com/experimenting-pcb-rendering-using-kicad-freecad-and-blender/
from cm4_matx.
@derwana Thanks. I based my rendering on the instructions at https://github.com/Hack-a-Day/Remoticon_KiCad_Blender, which also featured at Hackaday.
Now the examples you see there are of much higher quality than what I managed to whip up, but I'm not that skilled with 3D modeling. I've dabbled a little bit with Blender, but I'm by no means a wizard. 😅
@TheGuyDanish I also included the Blender file, since importing the PCB into Blender proved to be a bit more challenging than I had expected. First of all, color gets lost when you import VRML files (exported from KiCad) in newer Blender versions for some reason. Importing it in Blender 2.79 preserves the colors, but the VRML exported from this project is so large that the Linux version chokes on it and crashes, so I had to import it in the Windows version of Blender 2.79. Once the export was successful, I saved it into a .blend file, which I could then open in Blender 2.90 without problems, and with the colors still there.
With some more time (and/or contribution from an experienced 3D modeling artist), I'm sure an even more impressive 3D rendering can be made of the PCB design, like the ones you see on Hackaday. However, the .blend file (even being compressed) is quite large at 13MB. I therefore completely understand if you prefer not to have the .blend file included in the code base. If so, let me know, and I'll update the Pull Request accordingly.
Thanks. 🙂
from cm4_matx.
@volkertb from the link i posted (regarding the colorloss with Higher blender versions):
A workaround to this that I stumbled upon is to use the online 3D file format converter at CADexchanger and convert the KiCad VRML file to Collada DAE format. Importing the DAE format in Blender results in glorious color renders.
Unfortunately the converter is capped on 10 conversions per month on a free account.
from cm4_matx.
At first I tried automating the process of importing the VRML file in Blender and rendering it, by scripting it with Python. But I couldn't get it to work. The embedded Python interpreter in Blender seems finicky and the Python API is poorly documented and doesn't appear to expose all of Blender's functionality.
That's a shame, since having a script for this would make it so much easier to redo the render any time the KiCad design were updated.
Help with this would definitely be welcome!
from cm4_matx.
I'll have a look into it the next days.
from cm4_matx.
It would be cool to use github actions and script the rendering? So its always up to date. Although not certain the amount of compute that would take.
from cm4_matx.
It would be cool to use github actions and script the rendering? So its always up to date. Although not certain the amount of compute that would take.
Scripting the actions on github is beyond the scope of my knowledge, but it took me less than 2 hours to export from kicad and set up the scene in blender and making the model that shiny. And with the totally cranked up settings i use to render it takes 18.05 seconds and 476.18 MB ram on the CPU with Eevee (I am not a fan of Cycles).
from cm4_matx.
As I've mentioned before, I think a render like this is nice to have, but ultimately something we only should produce every now and then. Maybe on major revisions or release tags.
Unlike the schematic and PCB PDFs, the render can't be updated in one or two minutes by anyone who is already working on the main schematic and PCB, which is why I'm erring on putting more effort towards it. Maybe documenting the process, perhaps putting it into a documentation file, then someone can do it, as they please, when we reach a major milestone.
from cm4_matx.
It is already pretty well documented how you would go about exporting from KiCad and import that in Blender:
https://hackaday.io/project/175077-remoticon-kicad-to-blender-pcb-renders/log/185976-getting-from-kicad-render-to-blender
And yes, as mentioned in that article, I had to use an older version of Blender (2.79) to get the imported model right, and then used a newer version (2.91.0) to actually render it.
I could provide the Blender scene with all the settings I used to render and without the model, if interested, but it want look as good if the materials are not tweaked on the model.
Edit: that could potentially be done by a python script in Blender?
from cm4_matx.
If @Bentschi can manually make such a shiny high-quality rendering of the CM4_MATX board that would blow my current rendering out of the water and make people salivate over the end product, I'm all for it! 😅
Ultimately, it would be great if we could get the render process to work with a simple Python script that we could occasionally run whenever major changes or improvements are made to the design. Full automation might be problematic, since I believe you'd need the embedded Python interpreter distributed as part of Blender.
I've tried to make such a script (with the Blender Python bindings) work standalone, with no success so far. Again, I found the documentation w.r.t. the Blender Python bindings to be quite lacking.
from cm4_matx.
I tried, but not really sure... it looks a bit boring... maybe because there is so much room left and no traces yet.
Had to align the PCIe 3D model and had to remove the ethernet port to export it.
and here are the Blender files:
https://github.com/Bentschi/CM4_MATX-render/blob/main/CM4_MATX-render.zip
from cm4_matx.
I thought a little about the "boring look" of the picture.
I tried to catch the eye mostly on the upper left corner with shiny metal and the lighting, but as a whole it doesn't look "real" to me.
But it could be better if the background would actually be a atx computer case, so the eye has more to focus on the important bits.
I am not thinking of a complete case, just the important bits that are actually visible in the picture, and it would look nice i guess when a bit of lighting shines through the PCIe slots.
Edit: But if you want to use the picture or the files, just take them. I dont care about licensing that
from cm4_matx.
I think for now, either removing the rendered image we have already, or using a screenshot from KiCad's existing 3D viewer is a better course of action. As I mentioned, it's not like our board is in a great state to be shown off anyway, so putting effort into a nice, fancy-looking 3D render of it at this point is probably not worth it, considering how many substantial changes it is still likely to go through.
from cm4_matx.
Related Issues (20)
- Power wiring for PI7C PCI-e switch HOT 3
- CM4 symbol uses pin 116 twice and is missing pin 118 HOT 1
- pci express lines need ac coupling caps HOT 3
- uatx dimensions HOT 4
- Atx12vo HOT 3
- Errors in RJMG2012119A0NR.stp HOT 3
- voltage of GPIO_VREF not defined HOT 2
- Implement Real Time Clock HOT 3
- No assigned footprints HOT 2
- heat sink for CM4 HOT 8
- Possibly boards to look at HOT 1
- ISA bus instead of extra pci? HOT 2
- Test Pads HOT 2
- Assign passive component footprints HOT 1
- How hard is/was this project to implement? HOT 8
- Variant with 12V only power input HOT 1
- Fan connector HOT 1
- Is there a PIN jumper to affect BOOT mode? HOT 1
- Suggest Display Port out instead of HDMI HOT 1
- Too much empty space on board HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cm4_matx.