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.
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.
También recomiendo consultar la fuente y las demostraciones de github , una de dichas demostraciones:
eric s
eric s