What does HackerNews think of jupyter-cadquery?

An extension to render cadquery objects in JupyterLab via pythreejs

Language: Python

#124 in Python
What a great idea.

TIL about jupyterlab-blockly https://jupyterlab-blockly.readthedocs.io/en/latest/ https://jupyterlab-blockly.readthedocs.io/en/latest/other_ex... :

> The JupyterLab-Blockly extension is ready to be used as a base for other projects: you can register new Blocks, Toolboxes and Generators. It is a great tool for fast prototyping."

jupyter-cadquery: https://github.com/bernhard-42/jupyter-cadquery

"Generate code from GUI interactions" https://github.com/Kanaries/pygwalker/issues/90

Why cadquery instead of OpenSCAD: https://cadquery.readthedocs.io/en/latest/intro.html#why-cad...

/? awesome finite element analysis site:github.com https://www.google.com/search?q=awesome+finite+element+analy...

AI Game Development Tools (AI-GDT) > 3D Model https://github.com/Yuan-ManX/ai-game-development-tools#3d-mo... :

> blender_jarvis - Control Blender through text prompts with help of ChatGPT*

> Blender-GPT - An all-in-one Blender assistant powered by GPT3/4 + Whisper [speech2text] integration

> BlenderGPT

> chatGPT-maya - Simple Maya tool that utilizes open AI to perform basic tasks based on descriptive instructions.

My experience has been similar. By viewer, I meant the CQ-editor. I've also had issues getting it to run. IMO, it tries to do too much.

Since Jupyter-CadQuery [0] uses Juypter as an "editor", it's much more mature and stable. And if the viewer blows up, the notebook still works and can simply be reloaded. Debugging via replay is great.

It's also nice that you can install Jupyter-CadQuery on a different machine, either via Conda or Docker. And the standalone viewer looks awesome. It's a really exciting ecosystem.

[0] https://github.com/bernhard-42/jupyter-cadquery/

"Public Minecraft: Pi Edition API Python Library" https://github.com/martinohanlon/mcpi

rendering-minecraft w/ mcpi might do offline / batch rendering? https://pypi.org/project/rendering-minecraft/

Jupyter-cadquery might be worth a look: https://github.com/bernhard-42/jupyter-cadquery :

> View CadQuery objects in JupyterLab or in a standalone viewer for any IDE [w/ pythreejs]

If there's a JS port or WASM build of Minecraft, Minecraft could be rendered in a headless browser?

> Couldn't you equivalently use any STL/STEP/AMF viewer?

I'm not sure. A quick feedback loop is important. With OpenSCAD and CadQuery, you write code that defines the geometry. You then want to see what the geometry looks like, and possibly debug it. For this, you generally want to be able to give certain parts a different color, or opacity, wireframe, etc.

STL is out; it has to tessellate geometry turning it into triangles. AFAIK, it only supports one object. This means a sensible wireframe is out, and so are multiple parts. AMF has similar drawbacks. STEP files might work.

Generally, my understanding is many people write OpenSCAD code in their editor of choice, and then simply save the file. When you open an existing file in OpenSCAD GUI, it monitors it for changes, and refreshes. So this is great.

That said, I misspoke a bit. CQ-Editor is definitely somewhat close to OpenSCAD. It still has a - in my view - unnecessary code editor. But the last standalone release is over a year ago, and I found it to be extremely buggy on macOS. It crashes quite often. Meanwhile, Jupyer-CadQuery [0] works great.

> Seems a good choice to me that the GUI is a separate/subordinate project. I suppose it is somewhat necessary to have it at all, easier to gain popularity if you can show screenshots and have a single app 'quickstart'.

Generally, I think this is true. My personal opinion is I can be productive with something that has a minimal set of features but is rock-solid; over something that has gobs of features but is buggy. That was my main issue with FreeCAD. Ease of installation is another big one. For all it's issues, OpenSCAD gets both of these things right.

[0] https://github.com/bernhard-42/jupyter-cadquery/

Fully agree that the tooling and setup are not ideal. In case this may help others, I've been using Jupyter-CadQuery [0], an extension for JupyterLab to view your models in a side panel within the Jupyter notebook web interface. There's a docker image that packages the whole thing (CadQuery + JupyterLab + the extension) in the docker folder, making it easy to run and to update. The image is also available from docker hub [1].

On a more general note, I've mostly been using CadQuery to model pieces for 3d printing and the experience has been quite fun. Errors are not always easy to figure out and there's a learning curve to consider, but being able to "simply" describe my model in code instead of relying lots of [point|drag|click] is totally worth it. It was also a nice way to refresh my geometry knowledge.

[0] https://github.com/bernhard-42/jupyter-cadquery [1] https://hub.docker.com/r/bwalter42/jupyter_cadquery

This one uses JupyterLab as a frontend for CadQueury, a porcedural CAD system.

https://github.com/bernhard-42/jupyter-cadquery