Evaluando propuestas

Formulario Php para calcular el costo de impresión 3d y visualizar el archivo usando javascript

Publicado el 16 Noviembre, 2019 en Programación y Tecnología

Sobre este proyecto

Abierto

Necesito desarrollar un sitio web en php que permita calcular el costo de impresión a partir un archivo STL que suba el usuario a través del cálculo de tiempo de impresión y de la cantidad de material requerido usando una fórmula matemática.
La página debe tener un formulario que cuente con un botón para seleccionar el archivo 3d en formato STL y un formulario donde el usuario pueda seleccionar los distintos parámetros de impresión. Los parámetros serán: Material (Lista desplegable con 2 opciones), Altura de capa (Lista desplegable con 4 opciones), Porcentaje de relleno (Slider con valores de 0 a 100), color (Radio buttons con 3 opciones) y un botón de calcular para enviar los datos al servidor y ejecutar el comando que permite hacer los cálculos.


A la izquierda del formulario debe haber un visualizador en javascript donde el usuario pueda ver, acercar y rotar el 3rchivo 3D.
Una vez calculado el precio se debe mostrar los detalles de la orden (precio y entrega estimada) y debe haber un botón que permita al usuario realizar el pago online (a través de woocommerce).
Para iniciar se puede tomar como base el proyecto http://www.3dpartprice.com/ que ofrece una funcionalidad bastante parecida a la que buscamos (código de fuente disponible).


El proceso de calculo de tiempo de impresión y cantidad de material se realiza mediante un tipo de software llamado slicer. En este caso deseamos trabajar con Prusa Slicer https://github.com/prusa3d/PrusaSlicer en cual tiene un interfaz de línea de comandos que nos permite hacer todos los cálculos sin necesidad de un gui. Por ejemplo para calcular tiempo y material requerido para un archivo puedo usar el comando:
prusa-slicer -g STL/cube.stl --load profiles/fine-0.16.ini --fill-density 0.30 --output out-gcode/test.gcode
Donde STL/cube.stl es el archivo 3D a calcular, profiles/fine-0.16.ini es el perfil correspondiente para el material y la altura de capa (hay un perfil para cada combinación de material y altura de capa, es decir son 8 en total), --fill-density 0.30 representa el porcentaje de relleno (30% en este caso) y test.gcode es un archivo de texto que contiene toda la información necesaria para fabricar el archivo en una impresora 3D y entre las líneas de dicho archivo se encuentra el tiempo de impresión y la cantidad de material:


; Filament-specific end gcode
;END gcode for filament
M104 S0 ; turn off temperature
G28 X0  ; home X axis
M84 X Y E ;Disable all steppers but Z
; filament used [mm] = 5706.4
; filament used [cm3] = 13.7
; filament used [g] = 15.6
; total filament used [g] = 15.6
; total filament cost = 0.0
; estimated printing time (normal mode) = 2h 18m 5s
; estimated printing time (silent mode) = 2h 27m 4s

Para la visualización del archivo STL sugerimos partir de este código: https://github.c

om/kovacsv/Online3DViewer

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Crear un nuevo sitio personalizado
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Roles necesarios Programador

Plazo de Entrega: 15 Enero, 2020

Habilidades necesarias