Modelador CAD con soporte para eventos interactivos

Soy nuevo en CAD. Sin embargo, estoy interesado en implementar algunos algoritmos geométricos interactivos en 3d usando software CAD. Parece que hay muchas buenas opciones de código abierto disponibles en línea, por ejemplo, OpenJSCAD, Implicit, FreeCAD.

Sin embargo, por lo poco que sé de CAD, programamos un modelo 3d en un lenguaje de scripting del paquete CAD. Luego obtenemos un archivo STL que se visualiza fuera de línea utilizando un software de visualización estándar.

Me gustaría tener un modelador CAD basado en Python / Haskell, que tenga soporte para el manejo de eventos, digamos a través de funciones de devolución de llamada.

Matplotlib de Python, por ejemplo, en Python tiene un maravilloso soporte precisamente para este propósito. Pero por lo que sé, solo funciona para 2d.

Un escenario de uso típico sería que el usuario inicie una nube de puntos aleatoria en 3D. La nube de puntos se representa en la pantalla. Al presionar la tecla 'C', podemos ver cada paso de la construcción de un algoritmo de casco convexo.

A medida que avanza la construcción del algoritmo, podemos girarlo, hacer zoom en partes interesantes, etc.

¿Existen esos paquetes? Idealmente, en Python o Haskell.

Matplotlib no está limitado a 2D (más al menos) matplotlib.org/mpl_toolkits/mplot3d/index.html

Respuestas (2)

Pruebe pythonOCC , se basa en un kernel geométrico real de código abierto (opencascade).

Tendrá que explorar y ver si responde a su caso de uso, pero creo que puede lograr mucho con él. Vea también 'Proyectos relacionados' en el sitio, puede haber algo más que le pueda interesar.

No usar software CAD pero usar python es Jupyter VPython .

Suponiendo que ya tiene instalada una versión reciente de Python, puede instalar VPython con:

pip install vpython --upgrade

Esto le permitirá iniciar los kernels de Jupyter VPython ejecutando:

jupyter notebook

y en la página web resultante, http://localhost:8888 por defecto, seleccionando nuevo VPython en la parte superior derecha.

  • Gratis Gratis y de código abierto
  • Plataforma cruzada
  • Puede hacer casi exactamente el tipo de cosas que está buscando
  • no es un programa CAD

También recomiendo consultar la fuente y las demostraciones de github , una de dichas demostraciones:ingrese la descripción de la imagen aquí