ES2953536T3 - Asignación de material de GPU para impresión 3D usando campos de distancia 3D - Google Patents

Asignación de material de GPU para impresión 3D usando campos de distancia 3D Download PDF

Info

Publication number
ES2953536T3
ES2953536T3 ES17710093T ES17710093T ES2953536T3 ES 2953536 T3 ES2953536 T3 ES 2953536T3 ES 17710093 T ES17710093 T ES 17710093T ES 17710093 T ES17710093 T ES 17710093T ES 2953536 T3 ES2953536 T3 ES 2953536T3
Authority
ES
Spain
Prior art keywords
voxel
distance field
distance
field value
material selection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17710093T
Other languages
English (en)
Inventor
Blake Zachary Courter
Stephen Demai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stratasys Ltd
Original Assignee
Stratasys Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stratasys Ltd filed Critical Stratasys Ltd
Application granted granted Critical
Publication of ES2953536T3 publication Critical patent/ES2953536T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • G03G15/22Apparatus for electrographic processes using a charge pattern involving the combination of more than one step according to groups G03G13/02 - G03G13/20
    • G03G15/221Machines other than electrographic copiers, e.g. electrophotographic cameras, electrostatic typewriters
    • G03G15/224Machines for forming tactile or three dimensional images by electrographic means, e.g. braille, 3d printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/10Additive manufacturing, e.g. 3D printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Computer Graphics (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)

Abstract

Un método incluye seleccionar (112) un vóxel (420) de un espacio de construcción tridimensional (400) y para el vóxel seleccionado, determinar un valor de campo de distancia con respecto a un modelo digital de una parte 3D (402) en el espacio tridimensional. construir espacio. El valor del campo de distancia se usa luego para seleccionar (904) al menos una regla de selección de material (220) y se aplica una característica del vóxel (906) a al menos una regla de selección de material para identificar una designación de material (228) para el vóxel. La designación del material indica que no se colocará ningún material en el vóxel cuando la regla de selección de material no identifica ningún material para el vóxel y la designación del material indica que al menos un material se colocará en el vóxel cuando la al menos una regla de selección de material identifica el al menos un material para el vóxel. Luego se genera (126) la designación del material para el vóxel para su uso en la impresión de la pieza 3D usando un sistema de fabricación aditiva. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Asignación de material de GPU para impresión 3D usando campos de distancia 3D
Antecedentes
La presente divulgación se refiere a sistemas y un método para la fabricación aditiva de piezas tridimensionales (3D) y, más particularmente, a la generación de datos de impresión para la fabricación aditiva y el uso de los datos de impresión en sistemas y procesos para construir piezas 3D y sus estructuras de soporte.
La fabricación aditiva es generalmente un proceso en el que se fabrica un objeto tridimensional (3D) utilizando un modelo informático de los objetos. La operación básica de un sistema de fabricación aditiva consiste en el corte de un modelo informático tridimensional en secciones transversales finas, traducir el resultado en datos de posición bidimensionales y alimentar los datos al equipo de control que fabrica una estructura tridimensional por capas usando una o más técnicas de fabricación aditiva. La fabricación aditiva implica muchos enfoques diferentes para el método de fabricación, que incluyen el modelado de deposición fundida, inyección de tinta, sinterización por láser selectiva, inyección de polvo/aglutinante, fusión de haz de electrones, formación de imágenes electrofotográficas y procesos estereolitográficos.
En un proceso de inyección de tinta, se inyecta en gotitas un material de construcción desde un cabezal dispensador que tiene un conjunto de boquillas para depositar capas en una estructura de soporte. Dependiendo de la técnica de fabricación y el tipo de material, a continuación, las capas pueden planarizarse, curarse y/o solidificarse usando un dispositivo adecuado. El material de construcción puede incluir material particularizado, que forma el objeto y el material de soporte, que soporta el objeto mientras se está construyendo.
En un sistema de fabricación aditiva de modelado por deposición fundida, una pieza o modelo 3D puede imprimirse a partir de una representación digital de la pieza 3D capa por capa mediante la extrusión de un material de pieza fluido a lo largo de las trayectorias de la herramienta. El material de la pieza se extruye a través de una punta de extrusión llevada por un cabezal de impresión del sistema y se deposita como una secuencia de caminos sobre un sustrato en un plano de construcción. El material de la pieza extruido se fusiona con el material de la pieza previamente depositado y se solidifica con una caída de temperatura. A continuación, la posición del cabezal de impresión en relación con el sustrato se incrementa a lo largo de un eje de impresión (perpendicular al plano de construcción), y, a continuación, se repite el proceso para formar una pieza 3D que se asemeja a la representación digital. El material de soporte típicamente se deposita desde una segunda boquilla según la geometría generada durante el proceso de impresión para construir una estructura de soporte.
En un proceso de impresión 3D electrofotográfico, cada corte de la representación digital de la pieza 3D y su estructura de soporte se imprime o revela usando un motor electrofotográfico. El motor electrofotográfico generalmente opera de acuerdo con procesos de impresión electrofotográficos 2D, pero con un tóner polimérico. El motor electrofotográfico típicamente usa un tambor de soporte conductor que está recubierto con una capa de material fotoconductor, donde las imágenes electrostáticas latentes se forman por carga electrostática, seguido de la exposición por imágenes de la capa fotoconductora por una fuente óptica. A continuación, las imágenes electrostáticas latentes se mueven a una estación de revelado donde el tóner polimérico se aplica a las áreas cargadas o, como alternativa, a las áreas descargadas del aislante fotoconductor para formar la capa del tóner polimérico que representa un corte de la pieza 3D. La capa revelada se transfiere a un medio de transferencia, desde donde se transfunde la capa a capas previamente impresas con calor y/o presión para construir la pieza 3D.
En la fabricación de piezas 3D depositando capas de un material de pieza, las capas o estructuras de soporte típicamente se construyen debajo de las porciones de voladizo o en las cavidades de los objetos en construcción, que no están soportados por el propio material de la pieza. Se puede construir una estructura de soporte utilizando las mismas técnicas de deposición por las que se deposita el material de la pieza. Un ordenador de anfitrión genera geometría adicional que actúa como una estructura de soporte para los segmentos de voladizo o de espacio libre de la pieza 3D que se está formando. El material de soporte se adhiere al material de modelado durante la fabricación y se puede retirar de la pieza 3D terminada cuando finaliza el proceso de impresión.
El documento US 2014/324204 divulga la generación de una representación discretizada de volumen de un objeto, para la fabricación por impresión tridimensional. Una representación de límites del objeto se tesela para producir un conjunto de micropolígonos. Un módulo de programa que tiene una fase de superficie genera como salida una representación de límites que se modifica de acuerdo con un aspecto procedural de la fase superficial. A continuación, se aplica discretización de volumen para generar elementos de volumen.
El documento US 2016/0019319 está relacionado con un método para cortar un modelo tridimensional para la impresión de un objeto correspondiente por una impresora 3D, que comprende: obtener la envolvente del objeto como polígonos, a continuación, para cada región de un área de trabajo predefinida dentro del plano de corte: identificar el polígono más cercano de dicha envolvente que está posicionado sobre dicho píxel respectivo; donde no se identifica ningún polígono, a continuación, marcar una región correspondiente como una región sin impresión; si el vector de dirección de dicho polígono superior más cercano tiene una componente positiva en la dirección Z, a continuación, marcar dicha región correspondiente como una región de modelo; y, si el vector de dirección de dicho polígono tiene una componente negativa en la dirección Z, a continuación, marcar la región como una región de soporte e imprimir en consecuencia.
Sumario
La invención proporciona un método para imprimir una estructura 3D que comprende una pieza 3D y una estructura de soporte asociada como se expone en el conjunto de reivindicaciones adjunto.
Breve descripción de los dibujos
La Figura 1 es un ejemplo de un sistema para imprimir una pieza 3D usando la asignación de material de GPU basándose en campos de distancia.
La Figura 2 es un diagrama de bloques de una arquitectura informática de ejemplo para el ordenador de la Figura 1.
La Figura 3 es un diagrama de flujo de un método para convertir un modelo de pieza digital en instrucciones de impresión para imprimir una pieza en 3D.
La Figura 4 es un diagrama de bloques de elementos usados en el método de la Figura 3.
La Figura 5 es una vista en perspectiva de una porción de una pieza que muestra textura y una protuberancia. La Figura 6 es una vista en perspectiva de un espacio de construcción con un modelo digital orientado de una pieza.
La Figura 7 es un método para determinar un valor de campo de distancia.
La Figura 8 es una vista superior de un corte en el espacio de construcción que muestra la determinación de un valor de campo de distancia.
La Figura 9 es un diagrama de flujo de un método para realizar las etapas iniciales de selección de material. La Figura 10 proporciona una vista lateral de una pieza que muestra diferentes regiones de soporte.
La Figura 11 proporciona un método para seleccionar un material para un vóxel cuando únicamente hay una pieza. La Figura 12 proporciona un método para seleccionar un material para un vóxel cuando hay modelos digitales para múltiples piezas en el espacio de construcción.
La Figura 13 proporciona una vista en sección de una pieza construida a través de diversas realizaciones cuando un modelo digital de una única pieza estaba en el espacio de construcción.
La Figura 14 proporciona una vista lateral de dos piezas que muestra la retirada de la interferencia a través de la selección de las reglas de selección de material de una única pieza.
La Figura 15 muestra un área fusionada donde se fusionan dos funciones reticulares diferentes.
La Figura 16 muestra una región de transición donde se mezclan dos materiales diferentes de uno a otro vóxel a vóxel.
La Figura 17 es un segundo sistema de ejemplo para imprimir una pieza 3D usando la asignación de material de GPU basándose en campos de distancia, que incluye múltiples sistemas de fabricación aditiva.
La Figura 18 es un tercer sistema de ejemplo para imprimir una pieza 3D usando la asignación de material de GPU basándose en campos de distancia, que incluye múltiples sistemas de fabricación aditiva y una arquitectura de servidor basada en la nube.
La Figura 19 es una vista frontal de un sistema de fabricación aditiva de inyección de tinta de ejemplo configurado para imprimir piezas 3D y estructuras de soporte, para su uso en los sistemas de ejemplo.
La Figura 20 es un diagrama de un sistema de fabricación de electrofotografía configurado para imprimir piezas 3D y estructuras de soporte para su uso en los sistemas de ejemplo.
La Figura 21 es un diagrama de un sistema de fabricación aditiva basado en extrusión configurado para imprimir piezas 3D y estructuras de soporte para su uso en los sistemas de ejemplo.
Descripción detallada
Para construir una pieza usando la fabricación aditiva, se generan datos de impresión a partir de un modelo digital que representa un objeto que se va a imprimir. Basándose en los datos de impresión, se generan instrucciones de impresión y se proporcionan a la impresora para indicar qué material, si lo hubiera, debe colocarse en cada una de las ubicaciones disponibles de cada capa de impresión. Una técnica conocida para determinar las transiciones de materiales identifica los límites exteriores de cada pieza usando representaciones de límites. En este método, se designa un material de pieza para cada ubicación que se coloca a lo largo del límite de la pieza. Si la pieza va a ser sólida, el conjunto de materiales para la pieza también se designa para cada ubicación dentro de los límites de la pieza. En este método, todas las transiciones de material, ya sea de un material a otro material, o de un material a un espacio abierto, se pueden describir mediante una representación de límites. Sin embargo, los presentes inventores han descubierto que basarse en representaciones de límites para controlar las transiciones entre materiales crea varios problemas. En primer lugar, la realización de operaciones de redondeo, autoelevación y modelado de desplazamiento en las que las representaciones de límites se desplazan hacia dentro o hacia fuera para producir las instrucciones de impresión puede producir errores o resultados inesperados debido a la interferencia entre las representaciones de límites desplazadas. Esto típicamente ocurre cuando la topología de la pieza es compleja. En segundo lugar, las operaciones booleanas, tales como la resta o la unión, que se realizan entre dos piezas diferentes cuando se generan instrucciones de impresión, puede fallar si las representaciones de límites de las piezas no definen un objeto cerrado. Cualquier abertura en la pieza hará que las operaciones booleanas se limiten a la representación de límites misma en lugar del volumen completo de la pieza. En tercer lugar, es extremadamente difícil definir retículas usando representaciones de límites porque las retículas requieren un enorme número de triángulos en la malla, dando como resultado una gran cantidad de datos.
En las realizaciones descritas a continuación, los problemas asociados con las representaciones de límites se superan usando campos de distancia. Como se usa en el presente documento, un "valor de campo de distancia" es la longitud del vector más corto entre el vóxel y los límites de malla de la pieza, donde el vector no se limita a estar en cualquier plano, eje o dirección. En una realización, se crea un campo de distancia dividiendo el espacio de construcción tridimensional, que contiene la pieza o piezas a fabricar, en una matriz tridimensional de vóxeles. La distancia más cercana de cada vóxel a un límite de pieza se determina de tal manera que si el vóxel está dentro de la pieza, la distancia se establece como un valor positivo, si el vóxel está fuera de la pieza, la distancia se establece como un valor negativo y si el vóxel está en el límite de la pieza, la distancia es cero. Esto produce una matriz tridimensional de valores de campo de distancia. Cada pieza tiene su propio campo de distancia asociado. Como resultado, cuando hay múltiples piezas en el espacio de construcción, cada vóxel tiene múltiples valores de campo de distancia diferentes, cada uno asociado con una pieza separada.
Una vez que se determinan los campos de distancia, se usan para seleccionar al menos una regla de selección de material para cada vóxel. Cada regla de selección de material identifica una designación de material para el vóxel usando al menos una característica del vóxel, tal como el valor de campo de distancia del vóxel y la posición del vóxel en el espacio de construcción, por ejemplo. En algunas realizaciones, la regla de selección de material incluye una función periódica que es una función de los valores de campo de distancia y/o la posición en el espacio de construcción, de modo que un intervalo de valores de salida producidos por la función periódica no está asociado con ningún material designado para el vóxel y otro intervalo de valores de salida producidos por la función periódica está asociado con un material que se designa para el vóxel. Tales funciones periódicas permiten que se definan retículas en el espacio de construcción.
La Figura 1 muestra un ejemplo de un sistema simplificado para asignar materiales a vóxeles y fabricar piezas usando los materiales asignados. En la Figura 1, un ordenador 66 actúa como un ordenador de anfitrión para un sistema de fabricación aditiva 68 y se comunica con el sistema 68 a través de una o más líneas de comunicación 70. En algunas realizaciones, el ordenador 66 es interno al sistema 68, tal como una pieza de un conjunto de controlador interno para el sistema 68. En otras realizaciones, el ordenador 66 es externa al sistema de fabricación aditiva 68.
La Figura 2 muestra un diagrama de bloques de una arquitectura de ejemplo para el ordenador 66. Como se muestra, el ordenador 66 incluye hardware basado informático adecuado, tal como una interfaz de usuario 82, un controlador de memoria 84, un procesador 86, una unidad de procesamiento de gráficos 87, un medio de almacenamiento 88, un controlador de entrada/salida (E/S) 90 y un adaptador de comunicación 92. El ordenador 66 también puede incluir una diversidad de componentes adicionales que están contenidos en los ordenadores convencionales, servidores, dispositivos multimedia, dispositivos de procesamiento de señales y/o controladores de impresoras.
La interfaz de usuario 82 es una o más interfaces operadas por el usuario (por ejemplo, teclados, paneles táctiles, pantallas táctiles, monitores de visualización y otros controles operados por los ojos, la voz, el movimiento o las manos) configurados para operar el ordenador 66. El controlador de memoria 84 es uno o más conjuntos de circuitos que interconectan los componentes del ordenador 66 con uno o más módulos de memoria de acceso aleatorio (RAM) volátil de los medios de almacenamiento 88. El procesador 86 es una o más unidades de procesamiento informático configuradas para operar el ordenador 66, opcionalmente, con el controlador de memoria 84, y preferentemente con la circuitería de procesamiento relacionada (por ejemplo, matrices de puertas programables, componentes digitales y analógicos, y similares). Por ejemplo, el procesador 86 puede incluir una o más unidades basadas en microprocesador y/o basadas en microcontrolador, una o más unidades centrales de procesamiento, y/o una o más unidades de procesamiento de extremo frontal.
La unidad de procesamiento de gráficos 87 contiene un gran número de transistores que están dispuestos para realizar cálculos relacionados con gráficos informáticos en 3D de una manera rápida y eficiente. Tales cálculos incluyen el mapeo de texturas y la representación de polígonos que representan objetos 3D.
El medio de almacenamiento 88 es uno o más dispositivos de almacenamiento de datos internos y/o externos o medios de almacenamiento informático para el ordenador 66, tales como módulos de RAM volátil, módulos de memoria de solo lectura, medios ópticos, medios magnéticos (por ejemplo, unidades de disco duro), medios de estado sólido (por ejemplo, memoria FLASH y unidades de estado sólido), medios analógicos, y similares. Los medios de almacenamiento 88 pueden mantener uno o más programas de preprocesamiento y/o posprocesamiento (no mostrados) analizados adicionalmente más adelante.
El controlador de E/S 90 es uno o más conjuntos de circuitos que interactúan con el controlador de memoria 84, el procesador 86 y los medios de almacenamiento 88 con varios componentes de entrada y salida del ordenador 66, que incluyen la interfaz de usuario 82 y el adaptador de comunicación 92. El adaptador de comunicación 92 es uno o más adaptadores transmisores/receptores alámbricos y/o inalámbricos configurados para comunicarse a través de las líneas de comunicación 70.
Los comandos desde el ordenador 66 a los componentes de los sistemas 68 pueden realizarse con una o más de la interfaz de usuario 82, el controlador de memoria 84, el procesador 86, los medios de almacenamiento 88, el controlador de entrada/salida (E/S) 90, el adaptador de comunicación 92, y/u otras implementaciones de hardware y software adecuadas, como se entiende por los expertos en la materia.
La Figura 3 proporciona un diagrama de flujo de un método para generar instrucciones de impresión para una pieza 3D a partir de modelos de piezas digitales usando campos de distancia. La Figura 4 proporciona un diagrama de bloques de un sistema 200 usado para implementar el método de la Figura 3. De acuerdo con una realización, el sistema 200 se implementa en el ordenador 66.
En la etapa 100, se reciben datos de piezas que incluyen mallas 202, mapas de textura 204, mapas de relieve 206, mapas de brillo 208, características puntuales 209 y una resolución de pieza, que se almacenan en los medios de almacenamiento 88. Las mallas 202 describen límites planos de un modelo digital de la pieza y pueden definirse como triángulos interconectados u otros polígonos. Los mapas de textura 204 describen la ubicación y la geometría de las texturas superficiales que van a aplicarse en el exterior de cada una de las superficies descritas por las mallas 202. Los mapas de relieve 206 proporcionan descripciones de características superficiales más grandes presentes en superficies particulares de las mallas 202. La Figura 5 proporciona un ejemplo de una porción de una pieza que muestra dos superficies 300 y 302 que tienen texturas marcadas por los cuadrados elevados 304 y una protuberancia superficial 306 representada por el cuadrado elevado grande. Los cuadrados pequeños 304 se describirían en los mapas de textura 204 mientras que la protuberancia superficial 306 se describiría en los mapas de relieve 206. Los mapas de brillo 208 indican un nivel deseado de brillo para diferentes superficies de la pieza.
Las características puntuales 209 describen conjuntos de reglas de selección de material que van a usarse para porciones de la pieza que tienen características específicas. Ejemplos de características de piezas que se pueden usar como base para asignar conjuntos de reglas de selección de material incluyen identificadores de un cuerpo o malla, coordenadas de textura superficial e intervalos normales superficiales. Por lo tanto, en algunas realizaciones, diferentes porciones de una pieza tienen diferentes conjuntos de reglas de selección de material, de modo que, en los mismos valores de campo de distancia, se usarán diferentes materiales para diferentes áreas alrededor de la pieza. A continuación, se proporciona una descripción adicional del uso de dichas características puntuales.
Las mallas 202, los mapas de textura 204 y los mapas de relieve 206 se proporcionan a un proceso de cálculo de cortes 210 ejecutado por la unidad de procesamiento de gráficos 87, que realiza las etapas 101-116, 120, 122 y 124 de la Figura 3 descritas más adelante.
En la etapa 101, el proceso de cálculo de corte 210 define un espacio de construcción tridimensional y orienta los modelos de piezas digitales descritos por las mallas 202, los mapas de textura 204 y los mapas de relieve 206 en el espacio de construcción tridimensional para formar modelos de piezas digitales orientados 91. De acuerdo con una realización, el espacio de construcción se define orientando en primer lugar los modelos de piezas digitales y a continuación definiendo un cuadro delimitador alrededor de los modelos de piezas orientados para proporcionar una envolvente de estructura de soporte circundante.
La Figura 6 proporciona una vista tridimensional de un modelo de pieza digital 402 orientado en un espacio de construcción tridimensional 400. En la Figura 6, hay una dirección -Z 406, una dirección Z 408, una dirección X 410 y una dirección Y 412. Se muestra un corte plano 404 del espacio de construcción 400 que incluye una colección de vóxeles, tal como el vóxel 414. Aunque únicamente se muestra un único corte en la Figura 6, hay múltiples cortes en el espacio de construcción 400 de modo que los vóxeles llenan la totalidad del espacio de construcción 400. Las dimensiones de los vóxeles se basan en la resolución establecida para la pieza. Además, aunque se muestra un corte plano en la Figura 6, el término corte incluye cualquier colección de vóxeles similar a una superficie, tal como una colección de vóxeles que representan una superficie plana, una superficie helicoidal, una superficie cilíndrica, o cualquier otra geometría superficial.
En la etapa 102, se selecciona el corte más bajo en el espacio de construcción.
En la etapa 104, el proceso de cálculo de corte 210 establece valores para una memoria intermedia Z 95 para el corte seleccionado en el espacio de construcción 400. La memoria intermedia Z para un corte contiene un valor para cada vóxel en el corte, donde la magnitud del valor de la memoria intermedia Z representa la magnitud de la distancia vertical entre el vóxel y el límite de malla más cercano de la pieza. El límite de malla de la pieza se construye a partir de la combinación de una o más mallas 202, mapas de textura 204 aplicados a esas mallas, y mapas de relieve 206 aplicados a esas mallas. En la etapa 104, esta distancia se determina mirando en la dirección -Z 406 desde el vóxel y, por lo tanto, la memoria intermedia Z se denomina memoria intermedia -Z. El signo de un valor en la memoria intermedia Z indica si el vóxel está dentro o fuera del modelo de pieza digital, indicando valores negativos que el vóxel está fuera del modelo de pieza digital e indicando valores positivos que el vóxel está dentro del modelo de pieza digital. Inicialmente, todos los valores de memoria intermedia -Z para un corte se establecen a un valor negativo máximo, lo que indica que ninguna porción de la pieza es visible en la dirección -Z 406 desde ninguno de los vóxeles.
A continuación, la GPU 87 realiza una operación de representación usando las mallas 202, los mapas de textura 204 y los mapas de relieve 206 para construir una descripción de los límites de malla del modelo de pieza digital en el espacio de construcción tridimensional 400 y para proyectar esa descripción en el corte. En particular, cada superficie en las mallas 202 se representa una cada vez y los mapas de textura 204 y los mapas de relieve 206 se aplican a las superficies representadas para producir los límites de malla para la superficie y los límites de malla resultantes para las superficies se proyectan en el corte identificando los vóxeles que están directamente por encima de los límites de la malla en el espacio de construcción tridimensional. Para cada vóxel que está directamente por encima de los límites de malla de una superficie, la distancia entre el límite de la malla y el vóxel se compara con la distancia actual almacenada en la memoria intermedia -Z para el vóxel. Si la distancia a la superficie que se está proyectando actualmente tiene una magnitud menor que el valor almacenado en la memoria intermedia -Z, se considera que la superficie actual está más cerca del vóxel que cualquier superficie de la pieza representada previamente y la memoria intermedia -Z se actualiza con la distancia al límite de malla actual. El signo del valor de distancia almacenado en la memoria intermedia -Z se establece para indicar si el vóxel está dentro o fuera del modelo de pieza digital. Esto se puede determinar basándose en el ángulo entre la normal exterior de la superficie actual y la dirección Z 408. De acuerdo con una realización, la identidad y las propiedades de la superficie actual también se almacenan en una memoria intermedia adicional para el corte.
Si la distancia entre el límite de malla actual y el vóxel es mayor que la magnitud del valor de la memoria intermedia -Z para el vóxel, el valor de la memoria intermedia -Z permanece sin cambios. Esto ocurrirá cuando la superficie actual esté oculta del vóxel por otra superficie de la pieza, que está más cerca del vóxel. Por lo tanto, después de que cada superficie de la pieza debajo del corte actual se haya representado y proyectado en el corte, la memoria intermedia -Z contiene valores que indican la distancia más corta en la dirección -Z entre el vóxel y el límite de malla de la pieza y una memoria intermedia adicional indica la identidad de las superficies más cercanas y las características adicionales de esas superficies, tales como la dirección de sus normales orientadas hacia el exterior. Esto se repite para cada corte en el espacio de construcción 400.
En la etapa 106, se realiza una operación de representación en la dirección Z para cargar una memoria intermedia Z para el corte seleccionado. Esta representación es idéntica a la representación realizada en la dirección -Z con la excepción de que la vista se cambia a la dirección Z 408. Después de la etapa 106, el corte seleccionado tiene un valor de memoria intermedia Z para cada vóxel y un valor de memoria intermedia -Z para cada vóxel donde el valor de memoria intermedia Z proporciona la distancia vertical más corta entre el vóxel y la pieza en la dirección Z 408 y el valor de memoria intermedia -Z proporciona la distancia más corta entre el vóxel y la pieza en la dirección -Z 406.
Aunque se han descrito anteriormente las etapas 104 y 106 con referencia a una pieza en el espacio de construcción 400, en otras realizaciones, están presentes modelos digitales para múltiples piezas en el espacio de construcción 400. Cuando están presentes múltiples modelos de piezas digitales en el espacio de construcción 400, se puede crear una memoria intermedia -Z y una memoria intermedia Z separadas para cada pieza para cada corte en el espacio de construcción 400.
En la etapa 108, los límites de la silueta para el corte seleccionado se determinan a partir de la memoria o memorias intermedias Z. En particular, los valores de la memoria intermedia Z para pares de vóxeles se examinan para identificar las transiciones de un valor negativo al valor negativo de mayor magnitud posible. Tales transiciones representan un límite entre dónde una porción de una pieza está por encima de un vóxel y ninguna porción de la pieza está por encima del vecino del vóxel. Puede observarse un ejemplo de un límite de este tipo en la Figura 6 donde los vóxeles 420 y 422 están colocados a lo largo un límite de este tipo. El vóxel 420 se coloca debajo del modelo de pieza digital 402 y tiene un valor de memoria intermedia Z de -4. El vóxel 422, que es vecino del vóxel 420, no está por debajo de ninguna porción del modelo de pieza digital y se inicializa con el mayor valor negativo posible en la memoria intermedia Z. La repetición de esta comparación por pares para cada par produce límites de silueta, tal como el límite de silueta 424 donde los vóxeles dentro del límite se consideran debajo de una porción de la pieza y los vóxeles fuera de la silueta no están debajo de ninguna porción de un modelo de pieza digital. Obsérvese que, cuando están presentes los modelos digitales para múltiples piezas en el espacio de construcción 400, se repite la etapa 108 para cada memoria intermedia Z para el corte seleccionado en la etapa 104.
En la etapa 110, el proceso de cálculo de corte 210 determina las intersecciones de los límites de malla con el corte actual. En la Figura 6, la intersección del límite de la malla y el corte 400 se muestran como el límite 430, mostrado en líneas discontinuas. La intersección de los límites de la malla con el corte se puede encontrar examinando la memoria intermedia Z y la memoria intermedia -Z para identificar los píxeles vecinos donde el valor de la memoria intermedia Z cambia de un valor negativo a un valor de 0 o de un valor negativo a un valor positivo. Tales cambios en los valores de la memoria intermedia Z indican una transición de estar fuera del modelo de pieza digital a estar dentro del modelo de pieza digital. La etapa 110 se realiza para las memorias intermedias Z de cada pieza.
En la etapa 112, se selecciona un único vóxel en el corte actual. En la etapa 114, se determina un valor de campo de distancia a los límites de malla de la pieza para el vóxel. Este valor de campo de distancia es la distancia tridimensional de magnitud más corta entre el vóxel y cualquier porción de los límites de malla de la pieza. En la etapa 116, la distancia al límite de la silueta se determina para el vóxel actual.
De acuerdo con una realización, las etapas 114 y 116 se realizan juntas usando un algoritmo de muestreo. Un ejemplo de un algoritmo de muestreo de este tipo se muestra en el diagrama de flujo de la Figura 7, que se explica con referencia a la Figura 8. En la Figura 8, se muestra una vista superior de un corte 620 con una matriz de vóxeles, que incluye el vóxel 600. Un límite de malla 612 que se cruza con el corte 600 se muestra como una línea continua y un límite de silueta 610 se muestra como una línea discontinua.
En la etapa 500 de la Figura 7, el vóxel actual, el vóxel 600 de la Figura 8, se examina para determinar si se encuentra en un límite de malla en el corte actual. Por ejemplo, en la Figura 8, se consideraría que el vóxel 650 está en el límite de malla 612, ya que el límite de malla 612 se cruza con el vóxel 650. Si el vóxel actual está en el límite de malla en la etapa 500, el valor de campo de distancia se establece a 0 para el vóxel actual en la etapa 502.
Si el vóxel actual no está en el límite de malla en la etapa 500, como se muestra con el vóxel actual 600 de la Figura 8, se realiza la etapa 504 de la Figura 7 donde el valor de campo de distancia para el vóxel actual 600 se establece en el menor de los dos valores de la memoria intermedia Z para el vóxel actual. En particular, se comparan las magnitudes del valor de distancia Z en la memoria intermedia Z y la memoria intermedia -Z y la magnitud más pequeña se establece como el valor de campo de distancia para el vóxel actual. Además, el signo del valor de campo de distancia se establece basándose en si el vóxel está dentro o fuera del modelo de pieza digital. Si el vóxel está dentro del modelo de pieza digital, el valor de campo de distancia se establece como un valor positivo y si el vóxel está fuera del modelo de pieza digital, el valor de campo de distancia se establece en un valor negativo.
En la etapa 506, se identifica un anillo de vóxeles alrededor del vóxel actual en el corte actual. Por ejemplo, en la Figura 8, un primer anillo 602 indicado por el sombreado discontinuo rodea el vóxel actual 600. En la etapa 508, se selecciona un vóxel en el anillo identificado. Si este vóxel de anillo seleccionado está en el límite de la malla en la etapa 510, se usa la distancia entre el vóxel de anillo seleccionado y el vóxel actual 600 como una distancia de prueba. Si el vóxel de anillo no está en el límite de la malla, se usa una combinación del menor de los dos valores de memoria intermedia Z para el vóxel de anillo y la distancia entre el vóxel de anillo y el vóxel actual para determinar la distancia de prueba en la etapa 514. En particular, se comparan entre sí los valores de memoria intermedia Z en la memoria intermedia /- Z para el vóxel de anillo y se selecciona la magnitud más pequeña de los dos valores de memoria intermedia Z como un componente vertical de la distancia al modelo de pieza digital. Se calcula una componente horizontal de la distancia de la pieza como la distancia entre el vóxel de anillo y el vóxel actual 600. Elevando al cuadrado la componente vertical de la distancia y la componente horizontal de la distancia, sumando los cuadrados, y tomando la raíz cuadrada de la suma se obtiene la distancia entre el vóxel actual 600 y las porciones de la pieza por encima o por debajo del vóxel de anillo. Obsérvese que, si ninguna porción de la pieza está por encima o por debajo del vóxel de anillo, cada una de las memorias intermedias Z contendrá valores de gran magnitud. Este enfoque produce tanto la distancia plana 2D como la distancia 3D.
El valor de la distancia de prueba calculado en la etapa 512 o 514 se compara a continuación con el valor de campo de distancia almacenado actual para el vóxel actual 600 en la etapa 516. Si la distancia de prueba es menor que el valor de campo de distancia actual, la distancia de prueba se establece como el nuevo valor de campo de distancia actual. Si la magnitud de la distancia de prueba no es menor que la magnitud del valor de campo de distancia actual, el valor de campo de distancia actual sigue siendo el mismo.
En la etapa 518, el método determina si el vóxel de anillo está en el límite de la silueta, tal como el límite de silueta 610 de la Figura 8. Si el vóxel de anillo está en el límite de la silueta, se establece una distancia más corta al límite de la silueta para el vóxel actual 600 en la menor de una distancia previamente almacenada al límite de la silueta para el vóxel actual 600 y la distancia entre el vóxel de anillo y el vóxel actual en la etapa 520. Por lo tanto, si el vóxel de anillo está en el límite de la silueta y la distancia entre el vóxel de anillo y el vóxel actual es menor que las distancias previamente identificadas entre el vóxel actual y el límite de la silueta, la distancia más corta entre el vóxel actual 600 y el límite de la silueta se actualiza para reflejar la distancia entre el vóxel de anillo y el vóxel actual 600.
Si el vóxel de anillo no está en el límite de la silueta o después de que se haya actualizado la distancia al límite de la silueta, el proceso de la Figura 7 determina si hay más vóxeles de anillo en el anillo seleccionado actual. Si hay más vóxeles de anillo, el proceso vuelve a la etapa 508 y se selecciona el siguiente vóxel en el anillo actual. A continuación, se repiten las etapas 510-522. Cuando todos los vóxeles en un anillo actual han sido procesados en la etapa 522, el método determina si hay más vóxeles alrededor del anillo actual en la etapa 524. Si hay más vóxeles alrededor del anillo actual en la etapa 524, el proceso vuelve a la etapa 506 y se selecciona el siguiente anillo alrededor del anillo actual de vóxeles. Por ejemplo, después de que se procesa el anillo 602, se procesa el anillo 604, a continuación, el anillo 606, a continuación, el anillo 608. En el procesamiento de anillos sucesivos, los límites de la malla no se cruzan. Como tal, una vez que se alcanza un límite de malla, los vóxeles del otro lado del límite no se procesan. Por ejemplo, el vóxel 652 no se procesa como parte del anillo 608 ya que el límite de malla 612 separa el vóxel 652 del vóxel actual 600. Lo mismo ocurre con los anillos de vóxeles que se procesan dentro de un modelo de pieza digital. Específicamente, cuando un vóxel actual está ubicado dentro de un modelo de pieza digital, los vóxeles fuera del modelo de pieza digital no se usan para determinar el campo de distancia para el vóxel.
Cuando no hay más vóxeles alrededor del anillo actual en la etapa 524, el proceso finaliza y el valor de campo de distancia almacenado para el vóxel actual se emite como el campo de distancia final 212 (Figuras 2 y 4). Este valor de campo de distancia tendrá una magnitud que representa la distancia más corta entre el vóxel actual y cualquier límite de malla del modelo de pieza digital y un signo que indicará si el vóxel actual está dentro del modelo de pieza digital o es exterior al modelo de pieza digital. Además, cuando el valor de campo de distancia se actualiza para el vóxel actual, también se almacenan una o más características asociadas con el valor de campo de distancia, tal como la posición del punto más cercano en el límite de la malla, identificadores del cuerpo o malla en la que está ubicado el punto más cercano, coordenadas de la textura superficial, y la superficie normal en el punto más cercano, por ejemplo. De acuerdo con una realización, las diferentes características de la pieza tienen diferentes conjuntos de reglas de selección de material asociadas con las mismas. Como resultado, diferentes porciones de la pieza pueden tener diferentes reglas de selección de material asociadas con ellas. De manera similar, se emite la distancia más corta al límite de silueta 216, así como la ubicación del punto de límite de silueta más cercano 218.
Cuando hay modelos digitales para múltiples piezas en el espacio de construcción 400, las etapas de la Figura 7 se repiten para cada modelo de pieza digital para generar un valor de campo de distancia 212, un punto de límite de malla más cercano 214, una distancia más cercana a la silueta 216 y el punto de límite de silueta más cercano 218 para el vóxel para cada modelo de pieza digital. Es posible que un único vóxel esté fuera de todos los modelos de piezas digitales, esté ubicado en un único modelo de pieza digital mientras está fuera de otros modelos de pieza digital, o esté ubicado dentro de múltiples modelos de pieza digital.
Volviendo a la Figura 3, después de que se hayan determinado los valores del campo de distancia y la distancia al límite de la silueta para el vóxel seleccionado en las etapas 114 y 116, respectivamente, se determina el material para el vóxel en la etapa 118 por una unidad de selección de material 226. La Figura 9 proporciona un diagrama de flujo que muestra las etapas iniciales para realizar la selección de material.
En la etapa 700, se examinan los campos de distancia para determinar si el vóxel está en al menos un modelo de pieza digital. Esta determinación se puede realizar determinando si hay al menos un valor de campo de distancia no negativo almacenado para el vóxel. Si el vóxel está en al menos un modelo de pieza digital, todos los valores de campo de distancia negativos para el vóxel se ignoran en la etapa 702. Por lo tanto, si un vóxel se encuentra dentro de al menos un modelo de pieza digital, las reglas de selección de material 220 asociadas con el vóxel que está dentro de la pieza o piezas controlan la selección de material y se ignoran las reglas de selección de material 220 asociadas con el vóxel que está fuera de otras piezas. Obsérvese que, si únicamente hay un modelo de pieza digital en el espacio de construcción, no habrá campos de distancia negativa para ignorar en la etapa 702.
En la etapa 704, la unidad de selección de material 226 determina si hay modelos digitales para múltiples piezas en el espacio de construcción. Si únicamente hay un modelo de pieza digital en el espacio de construcción, en la etapa 706 se realiza un proceso de selección de material de una única pieza. Se analiza adicionalmente a continuación un ejemplo de uno de tales procesos de identificación de material de una única pieza. Si hay modelos digitales para múltiples piezas en la etapa 704, en la etapa 708 se realiza un proceso de selección de material de múltiples piezas. Se analiza a continuación un ejemplo de un proceso de selección de material de múltiples piezas de este tipo.
Volviendo a la etapa 700, si el vóxel no está en ninguno de los modelos de pieza digital en el espacio de construcción, se examina la posición del vóxel en relación con el límite de la silueta en la etapa 710 para determinar si el vóxel está en la silueta de la pieza. Determinar si un vóxel está en la silueta de una pieza implica observar el valor o valores de la memoria intermedia Z para el vóxel. Si alguno del valor o valores de la memoria intermedia Z es negativo y tiene una magnitud menor que la magnitud máxima, el vóxel está en la silueta de la pieza. Si el vóxel no está en la silueta de una pieza, el proceso continúa en la etapa 704 para determinar si hay múltiples piezas en el espacio de construcción como se analizó anteriormente.
Si el vóxel está en la silueta de la pieza en la etapa 710, se examina la posición del vóxel para determinar si está en una región de autosoporte para las estructuras de pieza/soporte o si está en una región de soporte directo en la etapa 714. Una región de soporte directo es una región en el espacio de construcción ubicada dentro de una silueta de un modelo de pieza digital que proporciona soporte a la pieza. Tales regiones de soporte directo requieren material de soporte suficiente para soportar la pieza a medida que se construye. Una región de autosoporte es una región dentro de la silueta que está debajo de una porción de la pieza o una porción de la estructura de soporte que no requiere soporte mientras se construye.
La diferencia entre una región de autosoporte y una región de soporte directo se muestra en la Figura 10, que muestra una vista lateral de una pieza 800 que tiene las superficies 802, 804, 806, 808 y 810. Hay tres regiones mostradas fuera de la pieza: la región de soporte 824, la región de soporte directo 820 y región de autosoporte 822. La región de soporte directo 820 y la región de autosoporte 822 están ubicadas por debajo de la pieza 800, mientras que la región de soporte 824 no está ubicada por debajo de ninguna porción de una pieza.
De acuerdo con algunas realizaciones, las superficies de piezas que se encuentran a más de un ángulo mínimo establecido con respecto a la horizontal se pueden imprimir sin soporte debajo de ellas. Por ejemplo, las superficies 808 y 810 forman un ángulo lo suficientemente grande con respecto a la horizontal como para que no requieran material de soporte debajo de ellas. Las superficies 806 y 802, por otra parte, son más horizontales que la superficie 808 y por lo tanto requieren soporte directo debajo de ellas. En algunas realizaciones, el ángulo de la superficie de la pieza con respecto a la horizontal se determina a partir de la normal exterior de la superficie de la pieza que se almacena en las características superficiales 209. El ángulo entre esta normal y el plano horizontal, tal como el ángulo 826 para la superficie 808, se compara con un ángulo umbral y cuando el ángulo es menor que el ángulo umbral, se considera que los vóxeles debajo de la superficie están en una región de autosoporte.
Como se muestra en la Figura 10, la superficie de límite 830 entre la región de autosoporte 822 y la región de soporte directo 820 está a un ángulo 828 de menos de noventa grados con respecto al plano horizontal. En algunas realizaciones, esto se hace para reducir la cantidad de material de soporte directo que se usa para fabricar la pieza. Al igual que la pieza, el material de la región de soporte directo se puede construir sin soportes debajo de él cuando el ángulo de la superficie de soporte con respecto al plano horizontal es mayor que un ángulo mínimo. En la Figura 10, ese ángulo mínimo es el ángulo 828.
Por lo tanto, en el área debajo de la superficie de una pieza que requiere soporte directo, algunos de los vóxeles estarán en la región de soporte directo 820 y algunos estarán en la región de autosoporte 822. Para determinar a qué región asignar un vóxel, se identifica el límite 812 entre la superficie de soporte directo 806 y la superficie de autosoporte 808 y este límite se usa con un ángulo mínimo 828 para identificar el límite 840 entre la región de soporte directo 820 y la región de autosoporte 822 en el corte actual. Si el vóxel está dentro de la región de autosoporte 822 en la etapa 714, se establece una designación de que el vóxel está en la región de autosoporte en la etapa 716. Si se determina que el vóxel está en la región de soporte directo 820 en la etapa 714, se establece una designación de que el vóxel está en la región de soporte directo en la etapa 712. Después de la etapa 712 o la etapa 716, el proceso pasa a la etapa 704 para determinar si hay múltiples piezas en el espacio de construcción.
La región de soporte directo 820, la región de autosoporte 822 y la región de soporte 824 puede incluir cada una materiales diferentes y/o funciones de modulación diferentes entre sí. En general, la región de soporte directo 820 incluirá materiales y funciones de modulación que proporcionan más soporte que la región de soporte 824. La región de autosoporte 822 puede incluir los mismos materiales y funciones de modulación que la región de soporte directo 820 o puede incluir diferentes materiales o funciones de modulación. En algunas realizaciones, a los vóxeles en la región de soporte 824 y la región de autosoporte 822 no se les asigna ningún material.
La Figura 11 proporciona un diagrama de flujo de ejemplo para realizar la etapa 706 de la Figura 9 en el que se realiza una identificación de material con respecto a una única pieza en el espacio de construcción. En la etapa 900 de la Figura 11, las características puntuales para la porción más cercana del modelo de pieza digital al vóxel se recuperan de las características puntuales 209 por la unidad de selección de material 226. Estas características puntuales se usan para identificar un conjunto de reglas de selección de material 220 que van a usarse cuando se determina el material para vóxeles cerca de la porción de la pieza. De acuerdo con una realización, el conjunto de reglas de selección de material contiene una regla de selección de material separada 224 para cada uno de un conjunto de intervalos 222 de valores de campo de distancia. De acuerdo con algunas realizaciones, cada regla de selección de material es una regla estática que asigna un mismo material con la misma densidad a través de todo el intervalo de valores de campo de distancia, y una regla de modulación que varía la composición de los vóxeles en el intervalo de valores de campo de distancia.
En la etapa 902, la unidad de selección de material 226 recupera los conjuntos de reglas de selección de material identificados en las características puntuales y en la etapa 904 usa el campo de distancia y la designación de región (es decir, región de soporte directo, región de relleno), si lo hubiera, para que el vóxel identifique qué regla de selección de material usar.
De acuerdo con una realización, los intervalos 222 describen bandas de materiales en relación con el límite de malla donde cada banda tiene una regla de selección de material asociada 224. Dentro de un intervalo 222, la regla de selección de material 224 puede simplemente designar un único material para su uso dentro del intervalo. Para otros intervalos, la regla de selección de material 224 consiste en una o más funciones que se evalúan para producir valores de salida. Los grupos de valores de salida se asignan a diferentes designaciones de material. Por ejemplo, algunos valores de salida de las funciones se pueden asignar a un primer material mientras que otros valores de salida se asignan a un segundo material. Otras veces, un grupo de valores de salida se asigna a un material mientras que los valores de salida restantes no se asignan a ningún material, lo que significa que no se coloca ningún material en el vóxel. Por ejemplo, de acuerdo con una realización, se definen las siguientes bandas y funciones:
para a > D > b
f(x,D) > 0 ^ designación de material 1
f(x,D) ≤ 0 ^ designación de material 2
f(x,D) = 0 ^ designación de material 3
para a > D > 0
g(x,D) > 0 - designación de material 4
g(x,D) ≤ 0 ^ designación de material 5
g(xx,D) = 0 ^ designación de material 6
para D = 0
h(x) > 0 ^ designación de material 7
h(x) ≤ 0 ^ designación de material 8
h(x) = 0 ^ designación de material 9
o 0> D > -c y soporte directo
k(x,D) > 0 ^ designación de material 10
k(x,D) ≤ 0 ^ designación de material 11
k(x,D) = 0 ^ designación de material 12
para 0> D > — c y autosoporte
l(x,D) > 0 ^ designación de material 13
l(x,D) ≤ 0 ^ designación de material 14
l(x,D) = 0 ^ designación de material 15
para 0> D > -c y sin brillo
m(x,D) > 0 ^ designación de material 16
m(x,D) ≤ 0 ^ designación de material 17
m(x,D) = 0 ^ designación de material 18
para 0> D > — c y brillo
n(x,D) > 0 ^ designación de material 19
n(x, D) ≤ 0 ^ designación de material 20
n(x, D) = 0 ^ designación de material 21
para -c> D > -d y soporte directo
o(x,D) > 0 ^ designación de material 21
o(x,D) ≤ 0 ^ designación de material 22
o(x,D) = 0 ^ designación de material 23
para -c> D > -d y autosoporte
p(x,D) > 0 ^ designación de material 24
p(x,D) ≤ 0 ^ designación de material 25
p(x,D) = 0 ^ designación de material 26
para -c> D > -d y de otra manera
q(x,D) > 0 ^ designación de material 27
q(x,D) ≤ 0 ^ designación de material 28
q(x,D) = 0 ^ designación de material 29
donde D es el valor de campo de distancia, a, b, -c y -d son valores de intervalo para los valores del campo de distancia, x es la ubicación tridimensional del vóxel en el espacio de construcción,
Figure imgf000010_0001
Figure imgf000010_0002
son funciones de modulación y las designaciones de materiales 1-29 son materiales
posibles y no materiales que van a usarse para el vóxel. Aunque se enumeran como materiales separados 1-29, los expertos en la materia reconocerán que una o más de las designaciones de materiales pueden ser iguales.
Las funciones de modulación pueden ser funciones periódicas o aperiódicas de una o más características del vóxel, tal como la posición del vóxel en el espacio de construcción, o el campo de distancia D para el vóxel. Para funciones periódicas, la posición en el espacio de construcción o el campo de distancia o una combinación de estos dos valores se pueden usar para controlar la frecuencia de la función periódica, un cambio espacial en la función periódica y/o la magnitud de la función periódica. La función de modulación también puede ser una función de ruido basándose en la posición del vóxel en el espacio de construcción o basándose en el campo de distancia. En realizaciones adicionales, la función de modulación es una combinación de una función periódica y una función de ruido procedural. Por ejemplo, en una realización, la función periódica se basa tanto en la posición en el espacio de construcción como en el campo de distancia y la salida de la función periódica se modula por una función de ruido basándose en la posición del vóxel en el espacio de construcción. En otra realización más, la función de modulación es la suma del valor de campo de distancia y una función periódica base de la posición del vóxel en el espacio de construcción.
En los ejemplos anteriores, se han descrito tres intervalos de valores para las funciones con tres designaciones de material asociadas. Cuando la función de modulación proporciona un valor constante, únicamente se identificará un único material que producirá una banda de material sólido a través del conjunto establecido por el campo de distancia. En otras realizaciones, se usan otros intervalos de valores para emitir la función de modulación, permitiendo que se use cualquier número de materiales dentro del intervalo de valores de campo de distancia establecidos para la función de modulación. En realizaciones adicionales, uno o más de los intervalos de valores para la función de modulación se pueden asociar con un espacio vacío, lo que da como resultado que no se asigne material al vóxel. Por ejemplo, es posible asignar un material cuando la salida de la función de modulación es mayor o igual que 0 y asignar un espacio vacío al vóxel cuando la salida de la función de modulación es menor que 0. Esto permite que se construya una banda porosa de material cambiando la porosidad del material basándose en el campo de distancia y/o la posición en el espacio de construcción.
La frecuencia de la función de modulación puede cambiar como una función continua del campo de distancia o puede fijarse en el valor de campo de distancia al principio o al final del intervalo de campos de distancia asociados con la función de modulación. De manera similar, la amplitud de la función de modulación puede variar de manera similar continuamente como una función de los valores de campo de distancia o puede establecerse al valor del campo de distancia al principio o al final del intervalo de valores del campo de distancia asociados con la función de modulación. Como se muestra en el ejemplo anterior de conjunto de reglas de selección de material, la selección de una regla de selección de material también puede basarse en si el vóxel está ubicado en una región de soporte directo o en una región de autosoporte como se designa para el vóxel en las etapas 712 y 716 anteriores. Además, los mapas de brillo 208 se pueden consultar para la porción de la pieza más cercana al vóxel para determinar si esa porción de la pieza ha de tener un nivel de brillo particular. A continuación, este nivel de brillo se puede usar junto con el campo de distancia para seleccionar la regla de selección de material para aplicar diversos materiales a los vóxeles vecinos del vóxel seleccionado, creando brillos variables en la superficie.
Volviendo a la Figura 11, en la etapa 906, el valor de campo de distancia del vóxel y/o la posición del espacio de construcción del vóxel se aplican a la regla de selección de material seleccionado para seleccionar un material o ningún material para el vóxel. En algunas realizaciones, como se ha mostrado anteriormente, la regla de selección de material 224 es una función de una característica del vóxel, tal como el valor de campo de distancia o la posición del espacio de construcción del vóxel, y el valor de campo de distancia o la posición del espacio de construcción del vóxel se aplican a la función para generar un valor de salida que a continuación se usa para seleccionar el material o la ausencia de material para el vóxel.
Volviendo al procesamiento inicial de la Figura 9, si hay más de un modelo de pieza digital en el espacio de construcción, se realiza una selección de material de múltiples piezas en la etapa 708 de la Figura 9. La Figura 12 proporciona un diagrama de flujo de un método para realizar una selección de material de múltiples piezas.
En la etapa 1000 de la Figura 12, la unidad de selección de material 226 accede a las características puntuales 209 para recuperar las características de los puntos de límite de malla más cercanos 214 para los modelos digitales de las múltiples piezas. A continuación, estas características se usan para determinar si las reglas de selección de material designadas para el punto de límite de malla han de mezclarse con las reglas de selección de material para los puntos de límite de malla de otros modelos de piezas digitales o si ha de realizarse una selección entre las reglas de selección de material de los diversos modelos de piezas digitales de modo que únicamente se usen las reglas de selección de material de una única pieza.
Si únicamente han de usarse las reglas de selección de material de una única pieza, el proceso continúa en la etapa 1002 donde se selecciona una de las piezas usando los puntos de límite de malla más cercanos de las diversas piezas. En particular, las características 209 de los puntos límite de malla más cercanos indicarán a cuál de las piezas ha de darse prioridad cuando se selecciona un conjunto de reglas de selección de material. Después de que se ha seleccionado la pieza con prioridad en la etapa 1002, la selección del material de una única pieza se realiza en la etapa 1004 usando el proceso descrito anteriormente para la Figura 11.
De acuerdo con algunas realizaciones, las características 209 pueden indicar que se han de realizarse operaciones booleanas para las dos piezas. Por ejemplo, si ha de realizarse una operación de intersección para las dos piezas, las características 209 indicarán un material que va a usarse para los vóxeles cuando los campos de distancia para ambas piezas sean positivos y que no se asigne ningún material a un vóxel cuando únicamente uno de los campos de distancia sea positivo. De manera similar, si ha de realizarse una operación de resta, no se asigna material a los vóxeles donde el campo de distancia es positivo para ambas piezas. Cuando ha de realizarse una operación de unión, se asigna el mismo material a todos los vóxeles donde el campo de distancia para al menos una pieza es positivo. La Figura 13 proporciona un ejemplo de una vista en sección transversal superior de una pieza construida usando el proceso de construcción de una única pieza de la Figura 11. En la Figura 13, la pieza, que representa un hueso de animal, está definida por un límite de malla 1100 que se divide en dos regiones 1102 y 1104, teniendo cada una características respectivas. Para la región 1102, se definen tres bandas de reglas de selección de material fuera de la pieza y se definen cuatro bandas de reglas de selección de material dentro de la pieza. En particular, fuera del límite de malla hay una banda 1106 construida por una función de modulación que modula entre producir dos materiales diferentes dando como resultado un área de soporte con estructura. La banda 1108 incluye una función de modulación aperiódica que proporciona una cantidad constante de un único material de soporte. La banda 1110 consta de una función de modulación aperiódica que asigna un espacio de aire a los vóxeles en la banda. En esta realización, el espacio de aire se produce con un campo de distancia 2D, mientras que las otras capas se producen con el campo de distancia 3D. Dentro del límite de la malla, la banda 1112 está representada por una función de modulación aperiódica que proporciona un material de recubrimiento de densidad constante. La banda 1114 se describe mediante una función de modulación que modula entre el revestimiento de la banda 1112 y un material cortical hallado en una banda cortical 1116. La banda cortical 1116 tiene un espesor que varía espacialmente a lo largo de la dirección larga del hueso como se indica por el espesor más ancho 1118 y el espesor más estrecho 1120. Por lo tanto, el tamaño de la banda cortical 1116 varía basándose en cuál sea el punto de límite de malla más cercano. La banda cortical 1116 se describe mediante una función de modulación aperiódica que proporciona un material cortical de intensidad constante. La banda 1122 se describe mediante una función de modulación con ruido que modula entre el material cortical de la banda 1116 y un material medular. La función de ruido aumenta la cantidad de material medular a medida que aumenta el campo de distancia.
La región 1104 contiene las bandas 1106 y 1108 del exterior de la región 1102 pero únicamente incluye la banda interior 1122 de la región 1102.
Volviendo a la Figura 12, cuando las características puntuales 209 para los puntos de la pieza más cercanos indican que las reglas de selección de material de dos piezas diferentes han de mezclarse en la etapa 1000, el proceso continúa en la etapa 1006. En la etapa 1006, se seleccionan al menos dos de las piezas en el espacio de construcción. El número de piezas que se seleccionan está basado en las designaciones almacenadas en las características puntuales 209 para todas las piezas en el espacio de construcción. Tales características pueden incluir campos de distancia umbral que requieren que el vóxel esté dentro de una cierta distancia del límite de la malla para que las reglas de selección de material de la pieza se usen durante la mezcla. En otras realizaciones, ciertas características puntuales 209 indicarán que las reglas de selección de material de una pieza únicamente han de mezclarse cuando esté presente un cierto número de otras piezas en el espacio de construcción.
En la etapa 1008, se recuperan las reglas de selección de material 220 asociadas con las piezas seleccionadas en la etapa 1006 e identificadas en las características puntuales 209. En la etapa 1010, se usa el respectivo campo de distancia del vóxel y la designación de la región, si los hubiera, del vóxel en relación con cada pieza seleccionada en la etapa 1006 para identificar qué reglas de selección de material han de seleccionarse para la mezcla. En la etapa 1012, se mezclan o fusionan uno o ambos de los materiales y las funciones de modulación de las reglas de selección de material seleccionadas. De acuerdo con una realización, mezclar o fusionar funciones de modulación implica ponderar las funciones de modulación usando los campos de distancia y sumar o multiplicar las funciones de modulación ponderadas para formar una función fusionada. La ponderación es de manera que, si un vóxel está dentro de dos piezas, el peso de una función de modulación de una de las piezas aumenta a medida que aumenta el valor de campo de distancia para esa pieza. Cuando el vóxel está ubicado fuera de dos piezas, se cumple lo contrario y la ponderación de la función de modulación en relación con una pieza disminuye a medida que aumenta la magnitud del campo de distancia para la pieza. En otras realizaciones, la mezcla o fusión se realiza usando una función aleatoria y seleccionando qué material aplicar basándose en si la salida de la función aleatoria está por encima o por debajo de un umbral. El umbral se establece como una función del campo de distancia para una de las piezas, de modo que sea más probable que se seleccione un material de una pieza particular para el vóxel a medida que aumenta el campo de distancia para esa pieza. Esto produce un área fusionada a través de las porciones superpuestas de las dos piezas donde el contenido de material de los vóxeles cambia gradualmente a través del área fusionada.
Después de que las funciones de material/modulación se hayan mezclado en la etapa 1012, se aplican los campos de distancia para una o más de las piezas a las funciones mezcladas en la etapa 1014 junto con la región del espacio de construcción para el vóxel para producir un valor calculado que a continuación se usa para seleccionar el material para el vóxel en la etapa 1016.
La Figura 14 proporciona un ejemplo de selección de material de múltiples piezas en el que la selección de una única pieza en la etapa 1002 elimina la interferencia entre las piezas. A veces, las mallas 202 para diferentes piezas se describirán de manera que las piezas se solapan cuando el diseñador pretendía que las piezas estuvieran separadas. Tal interferencia puede llevar mucho tiempo retirarla. En la etapa 1002, tal interferencia se elimina automáticamente seleccionando únicamente una de las piezas cuando las mallas 202 describen un vóxel como si estuviera en dos piezas diferentes.
En el ejemplo de la Figura 14, hay dos piezas 1200 y 1202. Las líneas discontinuas 1204 indican el límite de malla para la pieza 1202 como se describe por las mallas 202 y la línea continua 1205 indica el límite de malla para la pieza 1200. Como se muestra en la Figura 14, el límite de malla 1204 está dentro de la pieza 1200 y, como tal, la descripción de los límites de malla muestra la interferencia entre las piezas 1200 y 1202. Seleccionando una única pieza en la etapa 1002, en este caso, la pieza 1200, es posible retirar la interferencia descrita en las mallas 202 para proporcionar un nuevo límite de pieza 1206 (mostrado en negrita) para la pieza 1202. Por lo tanto, en el área de interferencia 1208 donde las piezas 1200 y 1202 se superponen, la selección de la pieza 1200 en la etapa 1002 desplaza de manera efectiva el límite 1204 al límite 1206 para la pieza 1202, eliminando de esta manera la interferencia entre las dos piezas. En efecto, esto realiza una operación de resta en la pieza 1202 basándose en la pieza 1200. Comparando los campos de distancia para dos piezas interferentes, uno puede retirar algo de interferencia de una pieza y la interferencia restante. También se puede retirar suficiente material para crear el espacio libre deseado.
La Figura 15 proporciona un ejemplo de mezcla de dos funciones de retícula usando un campo de distancia. En la Figura 15, se mezcla un campo de modulación giroide en la sección 1300 con una retícula de Schwartz como se muestra en la sección 1302 a través de un área de mezcla 1304. En la mezcla de la Figura 15, se ponderan las dos funciones de retícula de tal manera que a medida que aumenta el campo de distancia desde el límite de la malla que define el giroide, se pondera menos la función de modulación giroide y se pondera más la retícula de Schwartz. Esto produce una transición suave desde la retícula de giroide a la retícula de Schwartz.
La Figura 16 muestra la mezcla del material de las piezas en una porción superpuesta de dos piezas 1400 y 1402. En la región mezclada 1404, la cantidad de material asociado con la pieza 1400 disminuye gradualmente y la cantidad de material asociado con la pieza 1402 aumenta gradualmente a lo largo de la extensión desde la pieza 1400 a la pieza 1402. Por lo tanto, a medida que disminuye la magnitud del campo de distancia para la pieza 1400, disminuye la cantidad de material de la pieza para la pieza 1400 en la región mezclada. De manera similar, a medida que disminuye el campo de distancia para la pieza 1402 a lo largo de la región mezclada 1404, disminuye la cantidad de material asociado con la pieza 1402 en la región mezclada.
Volviendo a la Figura 3, después de que se haya determinado el material para un vóxel en la etapa 118, el proceso determina si han de procesarse más vóxeles en la etapa 120. Si hay más vóxeles en el corte actual, se selecciona un nuevo vóxel volviendo a la etapa 112 y se repiten las etapas 114, 116 y 118 para el nuevo vóxel. Cuando se han procesado todos los vóxeles para el corte actual en la etapa 120, el mapa de bits de material para el corte está completo y se emite como mapa de bits de material 228. En la etapa 122, el proceso determina si hay más cortes. Si hay más cortes, el proceso de cálculo de cortes 210 sube un corte en la etapa 124 y, a continuación, vuelve a la etapa 104 para realizar operaciones de representación en la dirección -Z para el nuevo corte. A continuación, se repiten las etapas 106, 108, 110, 112, 114, 116, 118 y 120 para el nuevo corte. Obsérvese que, aunque se ha indicado que la selección de material para cada vóxel en un corte se realiza antes de que se carguen la memoria intermedia -Z y la memoria intermedia Z para cada corte, en otras realizaciones, la operación de representación se realiza en la dirección -Z y la dirección Z para cada corte antes de determinar los materiales para los vóxeles en cualquiera de los cortes. Después de haber cargado las memorias intermedias -Z y las memorias intermedias Z para cada corte, se procesa cada corte a su vez por la unidad de selección de material 226 para identificar el material para cada vóxel en el corte.
Después de que se hayan formado mapas de bits de material 228 para cada corte, una unidad de conversión de impresión 230 realiza una etapa de conversión de impresión 126 para convertir estos datos de impresión en instrucciones de impresión 237. Esta etapa de conversión de impresión puede ser tan sencilla como transferir mapas de bits de material 228 como mapas de bits 232. En otras realizaciones, los mapas de bits de material 228 se convierten en trayectorias de herramienta 234 que describen cómo debe moverse un cabezal de impresión a lo largo de un corte para depositar material. En una realización, se usa un algoritmo de cuadro de marcha para identificar las trayectorias de herramienta 234 a partir de los mapas de bits 228. En una realización adicional, los mapas de bits de material 228 para cada corte se convierten en mallas 236 que proporcionan descripciones tridimensionales de los límites de las piezas. Tales mallas se pueden aplicar como entrada a otras impresoras o como entrada a sistemas CAD. En una realización, se usa un algoritmo de cubos en marcha para identificar mallas 236 a partir de mapas de bits 228. Después de que los mapas de bits de material 228 se hayan convertido en instrucciones de impresión 237, las instrucciones de impresión se comunican o emiten a través del adaptador de comunicación 92 de modo que la pieza se pueda fabricar en la etapa 128. Dado que las instrucciones de impresión 237 incorporan las designaciones de material para cada vóxel, comunicar o emitir instrucciones de impresión 237 implica comunicar o emitir las designaciones de material para cada vóxel para su uso en la construcción de una pieza tridimensional usando un sistema de fabricación aditiva. Como alternativa, cuando se forman las mallas 236, las mallas se pueden proporcionar a un sistema CAD en la etapa 128.
En resumen, las realizaciones anteriores cargan un modelo CAD en una GPU, usan la GPU para calcular los campos de distancia con signo para cada vóxel, asigna un material a cada vóxel basándose en los campos de distancia con signo y emite imágenes adecuadas para la impresión.
Como se ha analizado anteriormente, las diversas realizaciones calculan varios campos de distancia diferentes para cada vóxel en un corte, incluyendo la distancia euclidiana 3D al punto más cercano del modelo CAD, la distancia 2D al punto más cercano en la sección transversal del modelo en el corte y la distancia 2D a la silueta del modelo.
Cada campo de distancia puede incluir información de transformación de características para el vóxel, donde la característica es el punto de origen en el modelo usado para registrar la distancia informada para ese vóxel en el campo de distancia. Las transformaciones de características pueden incluir identificadores del cuerpo o malla, coordenadas de textura superficial, superficie normal y la posición del punto de origen.
De acuerdo con una realización, la asignación de material a cada vóxel se convierte en una función de la información de distancia y los parámetros controlados por el usuario.
La métrica de distancia puede ser la norma euclidiana o una norma diferente, tal como un Lp o una norma de chaflán. Los cálculos en la GPU usan la memoria intermedia Z para producir la componente de profundidad de la distancia en proyecciones planas.
Los cálculos en la GPU usan una transformación de distancia para calcular la distancia 3D, la distancia seccional 2D o la distancia desde regiones de autosoporte.
Los campos de distancia pueden usarse para modular las funciones de portadora, tales como retículas implícitas y funciones de ruido, para producir estructuras a múltiples escalas con propiedades de material variables tales como elasticidad, resistencia, dureza, alargamiento a la rotura, relación de Poisson, densidad, porosidad, color, transparencia, efusividad, difusividad, brillo, absorción y la velocidad de las ondas de luz y sonido, conformidad y porosidad.
Los campos de distancia pueden usarse para realizar operaciones de compensación y booleanas.
Los campos de distancia pueden usarse para interpolar sin problemas de un modelo CAD a otro.
Los campos de distancia pueden usarse para ajustar interferencias y espacios entre piezas.
Los campos de distancia pueden usarse para crear compensaciones de espesor variable.
Los campos de distancia se pueden combinar con texturas superficiales y volumétricas para crear texturas en capas y onduladas.
Los campos de distancia se pueden combinar con datos de vóxel, tal como exploración TAC y datos de IRM para producir modelos con propiedades de materiales que varían volumétricamente.
Los resultados se pueden guardar como imágenes de mapa de bits para su uso en impresoras que usan imágenes. Los resultados se pueden trazar en contornos vectoriales para impresoras 3D que usan trayectorias de herramienta. Los resultados se pueden reconstruir en modelos sólidos 3D.
Los cálculos en la GPU usan enfoques de convolución, muestreo, o en tiempo lineal para calcular la distancia seccional 2D, la distancia de la silueta y las componentes planas de la distancia 3D. De acuerdo con una realización, estos cálculos se realizan de forma iterativa para calcular distancias de manera recursiva de manera eficiente.
La información de distancia puede usarse para modular funciones explícitas e implícitas, tales como aquellas que describen retículas, para producir estructuras con propiedades del material a granel variables, tal como la conformidad y la porosidad. Las funciones pueden describir formas, vacíos en las formas, texturizas, propiedades variables de los materiales, y retículas en forma de haz, de panal y de topología mixta.
En las realizaciones descritas a continuación, hay componentes de CPU y GPU. El componente de CPU:
1. Lee datos de malla, texturas y datos de parámetros de corte.
2. Envía los datos de la malla y la información relacionada a la GPU.
3. Proporciona una interfaz de usuario para ver e interactuar con los datos de corte.
4. Guarda las imágenes creadas en la GPU al disco.
El componente de GPU:
1. Produce información de profundidad acerca del modelo usando la memoria intermedia Z.
2. Calcula la información de distancia a partir de la información de profundidad.
3. Calcula la composición de cada vóxel usando la información de distancia.
4. Incluye bibliotecas para calcular retículas, realizar operaciones de modelado sólido, calibrar color, etc.
En una realización, las diversas realizaciones se implementan usando Javascript, Node.js y Electron para la CPU y OpenGL ES para el código de la GPU. Otras realizaciones se implementan usando C# en .NET o Mono y OpenGL 3.3.
Aplicaciones adicionales cuando se combina el campo de distancia con información superficial:
1. Grabar información de textura, de la normal y otra información geométrica (colectivamente, "información superficial") junto con información de distancia mientras se calcula el campo de distancia.
2. Usar información superficial y un mapa de bits para elegir un color para asignar al modelo.
3. Usar información superficial y un mapa de bits para elegir un material entre varios materiales posibles, posiblemente usando difuminado.
4. Usar información superficial y un mapa de bits para compensar el modelo para crear un mapa de desplazamiento físico.
5. Usar información superficial y un mapa de bits para cambiar el brillo del resultado impreso.
6. Usar información superficial y un mapa de bits para cambiar el acabado superficial del resultado impreso. 7. Usar información superficial y un mapa de bits para cambiar la dureza del material más cercana al valor de la textura en la superficie.
8. Usar información superficial y un mapa de bits para cambiar la transparencia del material más cercana al valor de la textura en la superficie.
9. Usar información superficial y un mapa de bits para cambiar las propiedades mecánicas, tal como elasticidad, resistencia, dureza, alargamiento a la rotura, relación de Poisson, densidad, porosidad, color, transparencia, efusividad, difusividad, absorción y la velocidad de las ondas de luz y sonido, conformidad y porosidad, del material más cercano al valor de la textura en la superficie.
10. Usar información superficial y un mapa de bits para modificar la presencia de material de soporte en la superficie de una pieza.
11. Usar información superficial y un mapa de bits para modular funciones implícitas usadas en el volumen de la pieza o en las estructuras de soporte que la rodean.
12. Usar información superficial y varios mapas de bits para producir varios mapas de desplazamiento que se pueden combinar mediante operaciones booleanas para crear texturas superficiales que incluyen voladizos. 13. Usar información superficial y varios mapas de bits con material transparente para producir efectos superficiales lenticulares (animados o 3D).
14. Usar cualquier combinación de 2-13 juntos.
15. El uso de texturas volumétricas 3D con información de campo de distancia para cambiar la composición del material, posiblemente en combinación con 2-13.
En la Figura 1, el ordenador 66 se mostró como un anfitrión para un único sistema de fabricación aditiva independiente. Como alternativa, como se muestra en la Figura 17, el ordenador 66 puede funcionar como un servidor local para múltiples sistemas de fabricación aditiva 68. Por ejemplo, los sistemas 68 pueden ser parte de un sistema de producción global para fabricar productos OEM industriales o de consumo. Como tal, el ordenador 66 puede realizar las etapas de la Figura 3 y también puede realizar una o más etapas de procesamiento adicionales, tales como estimaciones de tiempo de ejecución, cola de impresora, colas de posprocesamiento, y similares. Como se muestra, el ordenador 66 puede incluir opcionalmente uno o más servidores 72 y uno o más ordenadores de anfitrión 74 asociados con cada sistema 68, donde el servidor 72 puede comunicarse con los ordenadores de anfitrión 74 a través de una o más líneas de comunicación 76 (por ejemplo, líneas de red).
En otra realización más, como se muestra en la Figura 18, el ordenador 66 y los sistemas 68 pueden ser parte de un centro de servicio bajo demanda. En esta realización, el ordenador 66 puede funcionar como un servidor basado en la nube, por ejemplo, donde los clientes pueden enviar modelos digitales (por ejemplo, archivos de datos de malla) desde sus ordenadores personales 78 a través de Internet a través de una o más redes o líneas de comunicación 80 al ordenador 66 (por ejemplo, al servidor 72).
En esta solicitud, el ordenador 66 puede realizar las etapas de la Figura 3, así como una o más etapas de procesamiento adicionales, tales como cálculos de volumen de material de soporte, cotización de precios, estimaciones de tiempo de ejecución, cola de impresora, cola de posprocesamiento, estimaciones de envío, y similares. Por ejemplo, en algunas realizaciones, el ordenador 66 puede generar cálculos de volumen de material de soporte, tiempos de construcción y cotización de precios como se analizó en Nehme et al., patente de Estados Unidos n.° 8.818.544. El centro de servicio también puede incluir una o más estaciones de posimpresión (por ejemplo, estaciones de retirada de soporte, estaciones de acabado superficial, estaciones de envío, y similares, no mostradas), donde el ordenador 66 también puede comunicarse opcionalmente con la estación o estaciones de posimpresión.
Como se usa en el presente documento, el término "ordenador" se refiere a uno o más sistemas informáticos, tales como uno o más ordenadores personales, ordenadores portátiles, servidores locales, servidores basados en la nube, dispositivos de medios móviles, dispositivos de tableta informática, y similares.
En la Figura 19, se ilustra un ejemplo representativo y no limitativo de un sistema de fabricación aditiva 2010 que puede usarse con las diversas realizaciones. Los detalles sobre los principios y las operaciones de los sistemas de fabricación aditiva, tales como el sistema 2010, se encuentran en la solicitud publicada de Estados Unidos n.° 20100191360 y las patentes de Estados Unidos 8.147.910; y 9.227.365.
El sistema de fabricación aditiva 2010 usa un aparato de impresión por inyección 2014 para fabricar un objeto tridimensional 2012 basándose en mapas de bits e instrucciones del ordenador 66. Los sistemas de fabricación aditiva adecuados para el sistema 2010 incluyen sistemas de inyección desarrollados por Stratasys Ltd., Rehovot, IL bajo la marca comercial "PolyJet". Los ejemplos representativos de otros aparatos de fabricación aditiva contemplados de acuerdo con diversas realizaciones ilustrativas incluyen, sin limitación, un aparato a base de polvo de inyección de aglutinante.
El aparato de impresión por inyección 2014 incluye los cabezales dispensadores 2021a, 2021b, 2021c y 2021d, las fuentes de radiación 2026 y dispositivos de nivelación 2032, que están todos montados en una estructura o bloque móvil 2028. Cada cabezal recibe la pieza o el material de soporte 2024 desde un contenedor de suministro respectivo 2050 y preferentemente comprende una matriz de una o más boquillas a través de las que se dispensan la pieza y los materiales de soporte 2024. Preferentemente, pero no obligatoriamente, la pieza y los materiales de soporte se dispensan mediante tecnología de inyección de tinta. La estructura 2028 se mueve sobre una bandeja 2030, que sirve como la superficie de trabajo sobre la que se construye el objeto 2012. La bandeja 2030 está configurada preferentemente para moverse verticalmente (a lo largo de la dirección Z), típicamente hacia abajo.
En uso, un controlador 2052 proporciona instrucciones de control a diversos componentes del sistema 2010 basándose en los mapas de bits e instrucciones del ordenador 66 para hacer que el sistema 2010 fabrique el objeto 2012. En particular, las instrucciones del controlador 2052 hacen que los cabezales dispensadores 2021 se muevan en una dirección de exploración y dispensen selectivamente material de soporte y/o pieza en una configuración predeterminada en el curso de su paso sobre la bandeja 2030. El paso de los cabezales 2021 es seguido del curado del material o materiales de modelado por las fuentes de radiación 2026. El paso inverso de los cabezales 2021, de vuelta a su punto de inicio para la capa recién depositada, se puede llevar a cabo una dispensación adicional de material de construcción, de acuerdo con una configuración predeterminada. En los pasajes directo y/o inverso de los cabezales 2021, la capa así formada se puede enderezar mediante el dispositivo de nivelación 2032, que preferentemente sigue la trayectoria de los cabezales 2021 en su movimiento directo y/o inverso. Una vez que los cabezales 2021 vuelven a su punto de inicio a lo largo de la dirección X, pueden moverse a otra posición a lo largo de una dirección de indexación, denominada en el presente documento como la dirección Y, y continuar construyendo la misma capa por movimiento recíproco a lo largo de la dirección X.
Una vez que se completa la capa, la bandeja 2030 se baja en la dirección Z a un nivel Z predeterminado, de acuerdo con el espesor deseado de la capa que se va a imprimir posteriormente. El procedimiento se repite para formar el objeto tridimensional 2012 por capas.
La Figura 20 muestra un sistema 2110 que es un ejemplo de sistema de fabricación aditiva para imprimir piezas 3D y estructuras de soporte usando electrofotografía, que se puede usar para imprimir objetos 3D basándose en los datos de impresión formados a través de las diversas realizaciones. Los ejemplos de componentes y operaciones funcionales adecuados para el sistema 2110 incluyen aquellos descritos en las solicitudes de patente de Estados Unidos n.° 13/790.406, 13/242.669 y 13/242.841.
Como se analiza en las solicitudes de patente de Estados Unidos n.° 13/790.406, 13/242.669 y 13/242.841, el motor EP 2112 está configurado para desarrollar capas sucesivas 2128 de un polvo a base de termoplástico usando electrofotografía. Las capas reveladas 2128 a continuación se transfieren desde el motor EP 2112 a la correa 2114. La correa 2114 transporta las capas reveladas 2128 desde el motor EP 2112 al ensamblaje de transfusión de capas 2133, que transfunde las capas reveladas 2128 en la plataforma de construcción 2118 o en las capas previamente transfundidas de la pieza 2122. El ensamblaje de transfusión de capas 2133 incluye un calentador 2132, ubicado aguas arriba de la plataforma de construcción 2118, un rodillo de presión calentado 2120, calentadores de pieza 2170 y 2172, y el pórtico 2134. El calentador 2132 calienta las capas 2128 al menos a una temperatura de fusión del material antes de alcanzar la plataforma de construcción 2118. Los calentadores de piezas 2170 y 2172 calientan la pieza 2122. A medida que las capas reveladas 2128 pasan alrededor del rodillo de presión 2120, la plataforma de construcción 2118 es movida por el pórtico 2134 a lo largo de la trayectoria 2176. El movimiento de la plataforma de construcción 2118 se opera por el motor 2136 basándose en los comandos del controlador 2124. La rotación continua de la correa 2114 y el movimiento de la plataforma de construcción 2118 alinean la capa calentada 2128 con la superficie superior calentada de la pieza 3D 2122. El pórtico 2134 continúa moviendo la pieza de la plataforma de construcción 2122 a una velocidad que está sincronizada con la velocidad de rotación de la correa 2114. Esto presiona la capa calentada 2128 entre la superficie superior calentada de la pieza 3D 2122 y la correa 2114 en la ubicación del rodillo de presión 2120 y transfunde la capa calentada 2128 a la capa superior de la pieza 3D 2122.
Después de la liberación de la capa 2128 sobre la pieza 2122, el pórtico 2134 continúa moviendo la plataforma de construcción 2118 y la pieza 3D 2122 a un calentador posfusión opcional 2182. Adicionalmente, el pórtico 2134 continúa moviendo la pieza 2122 a los inyectores de aire 2142, que soplan aire de refrigeración hacia las capas superiores de la pieza 3d 2122. Esto enfría activamente la capa transfundida.
A continuación, el pórtico 2134 mueve la plataforma de construcción 2118 y la pieza 3D 2122 hacia abajo y de regreso a una posición de inicio siguiendo el patrón rectangular alternativo 2176.
La Figura 21 es un diagrama de un sistema de fabricación aditiva basado en extrusión de ejemplo 88 configurado para imprimir piezas 3D y estructuras de soporte para su uso en los sistemas de ejemplo. Los sistemas de fabricación aditiva adecuados para el sistema 88 incluyen sistemas basados en extrusión desarrollados por Stratasys, Inc., Eden Prairie, MN, tales como sistemas de modelado por deposición fundida bajo la marca registrada "FDM". Los detalles sobre los principios y las operaciones de los sistemas de fabricación aditiva, tales como el sistema 88, se encuentran en la patente de Estados Unidos 9022769.
En la Figura 21, hay dos conjuntos consumibles 2212, donde uno de los conjuntos consumibles 2212 contiene un filamento de material de pieza y el otro conjunto consumible 2212 contiene un filamento de material de soporte. Cada ensamblaje consumible 2212 incluye una porción de contenedor 2214, tubo de guía 2216 y cabezales de impresión 2218, donde cada cabezal de impresión 2218 incluye un extrusor 2220. La porción de contenedor 2214 puede retener un carrete, bobina u otra disposición de suministro de un filamento consumible, tal como se analiza en Mannella et al., Las publicaciones de Estados Unidos n.° 2013/0161432 y 2013/0161442; y en Batchelder et al., solicitud de patente de Estados Unidos n.° 2014/0158802.
El tubo de guía 2216 interconecta la porción de contenedor 2214 y el cabezal de impresión 2218, donde un mecanismo de accionamiento del cabezal de impresión 2218 (y/o del sistema 88) extrae segmentos sucesivos del filamento consumible de la porción de contenedor 2214, a través del tubo de guía 2216, al extrusor 2220.
Como se muestra, el sistema 88 incluye el alojamiento de sistema 2226, la cámara 2228, la pletina 2230, el pórtico de pletina 2232, el carro de cabezal 2234 y el pórtico de cabezal 2236. La cámara 2228 es un entorno cerrado que contiene la pletina 2230 para imprimir la pieza 3D 2222 y la estructura de soporte 2224. El pórtico de pletina 2232 es un conjunto de pórtico configurado para mover la pletina 2230 a lo largo (o sustancialmente a lo largo) del eje z vertical. El carro de cabezal 2234 es una unidad configurada para recibir cabezales de impresión 2218 y está soportado por el pórtico de cabezal 2236. Ejemplos de dispositivos adecuados para el carro de cabezal 2234 y técnicas para retener los cabezales de impresión 2218 en el carro de cabezal 2234, incluyen aquellos desvelados en Swanson et al., patentes de Estados Unidos n.° 8.403.658 y 8.647.102. El pórtico de cabezal 2236 es un conjunto de pórtico accionado por correa configurado para mover el carro de cabezal 2234 y los cabezales de impresión retenidos 2218 en un plano x-y horizontal por encima de la cámara 2228. Los ejemplos de conjuntos de pórtico adecuados para el pórtico de cabezal 2236 incluyen aquellos desvelados en Comb et al., publicación de Estados Unidos n.° 2013/0078073, donde el pórtico de cabezal 2236 también puede soportar deflectores deformables (no mostrados) que definen un techo para la cámara 2228.
Ejemplos adicionales de dispositivos adecuados para cabezales de impresión 2218 y las conexiones entre cabezales de impresión 2218, el carro principal 2234 y el pórtico de cabezal 2236 incluyen aquellos desvelados en Crump et al., patente de Estados Unidos n.° 5.503.785; Swanson et al., patente de Estados Unidos n.° 6.004.124; LaBossiere, et al., patentes de Estados Unidos n.° 7.384.255 y 7.604.470; Batchelder et al., patentes de Estados Unidos n.° 7.896.209 y 7.897.074; y Comb et al., patente de Estados Unidos n.° 8.153.182.
El sistema 88 también incluye el conjunto de controlador 2238, que es uno o más sistemas informáticos configurados para operar los componentes del sistema 88. El ensamblaje de controlador 2238 puede comunicarse a través de la línea o líneas de comunicación 2240 con los diversos componentes del sistema 88, tal como los cabezales de impresión 2218, la cámara 2228, el carro de cabezal 2234, los motores para pórtico de pletina 2232 y el pórtico de cabezal 2236, y diversos sensores, dispositivos de calibración, dispositivos de visualización y/o dispositivos de entrada de usuario.
Adicionalmente, el ensamblaje de controlador 2238 también puede comunicarse a través de la línea de comunicación 70 con dispositivos externos, tal como el ordenador 66.
Durante una operación de impresión, el conjunto de controlador 2238 dirige el pórtico de pletina 2232 para mover la pletina 2230 a una altura predeterminada dentro de la cámara 2228. A continuación, el ensamblaje de controlador 2238 dirige el pórtico de cabezal 2236 para mover el carro de cabezal 2234 y los cabezales de impresión 2218 en el plano x-y horizontal por encima de la cámara 2228 a lo largo de la trayectoria de la herramienta proporcionada por el ordenador 66. A continuación, el conjunto de controlador 2238 ordena a los cabezales de impresión 2218 que extraigan selectivamente segmentos sucesivos de los filamentos consumibles desde las porciones de contenedor 2214 y a través de los tubos de guía 2216, respectivamente. A continuación, los segmentos sucesivos de cada filamento consumible se funden en el extrusor 2220 del respectivo cabezal de impresión 2218 para producir un material fundido. Tras la salida del extrusor 2220, el extruido resultante se deposita sobre la pletina 2230 como una serie de caminos para imprimir la pieza 3D 2222 o la estructura de soporte 2224 de manera capa a capa.
Aunque la presente divulgación se ha descrito con referencia a realizaciones preferidas, los trabajadores expertos en la materia reconocerán que pueden realizarse cambios en la forma y los detalles sin apartarse del alcance del conjunto de reivindicaciones adjunto.

Claims (15)

REIVINDICACIONES
1. Un método para imprimir una estructura 3D que comprende una pieza 3D y una estructura de soporte asociada usando un sistema de fabricación aditiva (68), comprendiendo el método:
usar un ordenador para:
para cada corte (404) de un espacio de construcción tridimensional (3D) (400);
para cada uno de una colección de vóxeles en dicho corte:
seleccionar (112) un vóxel en la colección;
para el vóxel seleccionado, determinar (114), por una unidad de procesamiento de gráficos (87), un valor de campo de distancia (212) en relación con un modelo de pieza digital en el espacio de construcción tridimensional (400), siendo dicho valor de campo de distancia (212) una longitud de un vector más corto entre el vóxel seleccionado y los límites de malla del modelo de pieza digital, en donde dicha determinación (114) comprende usar los valores en las memorias intermedias z (95) de la unidad de procesamiento de gráficos (87) para determinar distancias desde el vóxel seleccionado a una pluralidad de ubicaciones en el modelo de pieza digital, y usar la distancia más corta para determinar el valor de campo de distancia (212), conteniendo dichos valores en memorias intermedias z (95), para cada vóxel del corte (404), una magnitud de una distancia vertical entre el vóxel y el límite de malla más cercano de la pieza;
usar (904) el valor de campo de distancia (212) para seleccionar al menos una regla de selección de material (224);
aplicar el valor de campo de distancia (212) a la al menos una regla de selección de material (224) para identificar (118, 906) una designación de material para el vóxel seleccionado, en donde la designación de material indica que no va a colocarse ningún material en el vóxel seleccionado cuando la regla de selección de material (224) no identifica ningún material para el vóxel seleccionado y en donde la designación de material indica que va a colocarse al menos un material en el vóxel seleccionado cuando la al menos una regla de selección de material (224) identifica el al menos un material para el vóxel seleccionado; y
emitir (228) las designaciones de material para la colección de vóxeles en dicho corte (404); y
usar el sistema de fabricación aditiva (68) para:
imprimir (128) la pieza 3D y la estructura de soporte asociada usando las designaciones de material de salida para la colección de vóxeles.
2. El método de la reivindicación 1, en donde el valor de campo de distancia (212) se aplica a la al menos una regla de selección de material (224), y en donde la al menos una regla de selección de material (224) comprende una función periódica y en donde la regla de selección de material (224) no identifica ningún material para el vóxel seleccionado cuando un valor de salida de la función periódica está en un primer intervalo y en donde la regla de selección de material identifica un material para el vóxel seleccionado cuando el valor de salida de la función periódica está en un segundo intervalo.
3. El método de la reivindicación 2, en donde la función periódica es una función del valor de campo de distancia (212).
4. El método de la reivindicación 2, en donde la función periódica comprende el valor de campo de distancia (212) sumado a una función periódica base.
5. El método de la reivindicación 1, en donde se aplica una posición en el espacio de construcción 3D (400) a la al menos una regla de selección de material (224), y en donde la al menos una regla de selección de material (224) comprende una función periódica y en donde la regla de selección de material (224) no identifica ningún material para el vóxel seleccionado cuando un valor de salida de la función periódica está en un primer intervalo y en donde la regla de selección de material (224) identifica un material para el vóxel seleccionado cuando el valor de salida de la función periódica está en un segundo intervalo.
6. El método de la reivindicación 5, en donde la función periódica es una función de la posición del vóxel seleccionado en el espacio de construcción tridimensional (400).
7. El método de la reivindicación 1, en donde usar el valor de campo de distancia (212) para seleccionar al menos una regla de selección de material (224) comprende además usar el valor de campo de distancia (212) junto con una determinación de si el vóxel seleccionado está en una región de soporte de la pieza para seleccionar la al menos una regla de selección de material (224).
8. El método de la reivindicación 1, en donde usar el valor de campo de distancia (212) para seleccionar al menos una regla de selección de material (224) comprende además recuperar de un medio de almacenamiento (88) conjuntos (220) de reglas de selección de material, dichos conjuntos (220) de reglas de selección de material en dichos medios de almacenamiento (88) se almacenan para usarse para porciones de la pieza que tienen características de pieza específicas que se seleccionan del grupo que consiste en identificadores de un cuerpo o malla, coordenadas de textura superficial e intervalos normales superficiales.
9. El método de la reivindicación 1, que comprende además determinar (114) un segundo valor de campo de distancia en relación con un segundo modelo de pieza digital en el espacio de construcción tridimensional (400) y seleccionar uno del segundo valor de campo de distancia y el valor de campo de distancia para seleccionar la al menos una regla de selección de material (224).
10. El método de la reivindicación 9, en donde seleccionar uno del segundo valor de campo de distancia y el valor de campo de distancia comprende usar características respectivas asociadas con los puntos más cercanos en el modelo de pieza digital y el segundo modelo de pieza digital al vóxel seleccionado para determinar qué valor de campo de distancia (212 ) seleccionar, dichas características respectivas describen conjuntos de reglas de selección de material que van a usarse para porciones de la pieza respectiva que tienen características de pieza específicas que se seleccionan del grupo que consiste en identificadores de un cuerpo o malla, coordenadas de textura superficial e intervalos normales superficiales.
11. El método de la reivindicación 9, en donde seleccionar uno del segundo valor de campo de distancia y el valor de campo de distancia da como resultado una selección de material que retira la interferencia entre la pieza 3D y una segunda pieza 3D cuando el vóxel seleccionado está ubicado tanto en el modelo de pieza digital como en el segundo modelo de pieza digital.
12. El método de la reivindicación 1, en donde el valor de campo de distancia (212) está en un primer intervalo de valores si el vóxel seleccionado está fuera del modelo de pieza digital, está en un segundo intervalo de valores si el vóxel seleccionado está dentro del modelo de pieza digital y es un valor singular si el vóxel está en el límite del modelo de pieza digital.
13. El método de la reivindicación 1, en donde la emisión (228) de las designaciones de material para la colección de vóxeles comprende la emisión de un mapa de bits para la colección de vóxeles.
14. El método de la reivindicación 1, en donde la emisión (228) de las designaciones de material para la colección de vóxeles para su uso en la impresión de la estructura 3D comprende generar (126) instrucciones de impresión a partir de las designaciones de material para la colección de vóxeles para su uso en la impresión de la estructura 3D, en donde las instrucciones de impresión comprenden trayectorias de herramienta.
15. El método de la reivindicación 1, en donde dichas memorias intermedias z (95) comprenden primeras memorias intermedias z asociadas con el límite de malla de la pieza que está por encima (408) de dicho vóxel, y segundas memorias intermedias z asociadas con el límite de malla de la pieza que está por debajo (406) de dicho vóxel, y el método comprende determinar (108) un límite de silueta (424) para dicho corte (404) usando valores de dichas primeras memorias intermedias z, y calcular (116) una distancia desde dicho vóxel hasta dicho límite de silueta (424).
ES17710093T 2016-02-25 2017-02-24 Asignación de material de GPU para impresión 3D usando campos de distancia 3D Active ES2953536T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662299819P 2016-02-25 2016-02-25
PCT/US2017/019340 WO2017147412A1 (en) 2016-02-25 2017-02-24 Gpu material assignment for 3d printing using 3d distance fields

Publications (1)

Publication Number Publication Date
ES2953536T3 true ES2953536T3 (es) 2023-11-14

Family

ID=58266205

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17710093T Active ES2953536T3 (es) 2016-02-25 2017-02-24 Asignación de material de GPU para impresión 3D usando campos de distancia 3D

Country Status (5)

Country Link
US (4) US20180240263A1 (es)
EP (1) EP3420481B1 (es)
JP (2) JP6730440B2 (es)
ES (1) ES2953536T3 (es)
WO (1) WO2017147412A1 (es)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11003165B2 (en) * 2015-04-24 2021-05-11 Hewlett-Packard Development Company, L.P. Transforming three dimensional object data into object property data objects
US20180240263A1 (en) 2016-02-25 2018-08-23 Stratasys, Ltd. Gpu material assignment for 3d printing using 3d distance fields
US10118337B2 (en) * 2016-06-06 2018-11-06 Xerox Corporation Electrostatic 3-D printer controlling layer topography using aerosol applicator
BE1024514B1 (nl) * 2016-09-30 2018-03-21 Materialise N.V. Systemen en werkwijzen voor het verbeteren van de bouwbaarheid in additieve productie.
WO2018070993A1 (en) * 2016-10-11 2018-04-19 Hewlett-Packard Development Company, L.P. Generating data for a three-dimensional (3d) printable object
US11170570B2 (en) * 2017-06-21 2021-11-09 Technion Research & Development Foundation Limited Systems and methods for additive manufacturing
US10775770B2 (en) * 2017-06-22 2020-09-15 Autodesk, Inc. Building and attaching support structures for 3D printing
US10723079B2 (en) * 2017-08-23 2020-07-28 Lawrence Livermore National Security, Llc Fast, efficient direct slicing method for lattice structures
US11340582B2 (en) 2017-10-14 2022-05-24 Hewlett-Packard Development Company, L.P. Processing 3D object models
US11602899B2 (en) * 2017-10-31 2023-03-14 Carbon, Inc. Efficient surface texturing of objects produced by additive manufacturing
EP3483755B1 (en) * 2017-11-09 2022-07-13 Dassault Systèmes Additive manufacturing of a 3d part
JP7140513B2 (ja) * 2018-03-05 2022-09-21 キヤノンメディカルシステムズ株式会社 画像処理装置及び3d造形装置
US10814558B2 (en) 2018-04-26 2020-10-27 Markforged, Inc. System and method for minimizing deviations in 3D printed and sintered parts
CN110757804B (zh) * 2018-07-26 2021-06-04 中国科学院沈阳自动化研究所 一种基于纹理贴图三维模型的全彩色分层切片算法
US11890816B2 (en) 2018-07-30 2024-02-06 Stratasys Ltd. System and method of mitigating color offset discrepancies in 3D printing systems
WO2020040729A1 (en) * 2018-08-20 2020-02-27 Hewlett-Packard Development Company, L.P. Generating a preview of a part to be printed
US11417047B2 (en) 2018-09-28 2022-08-16 Stratasys Ltd. Method and system for diffusing color error into additive manufactured objects
US10922882B2 (en) * 2018-10-26 2021-02-16 Electronics Arts Inc. Terrain generation system
JP7271911B2 (ja) * 2018-11-16 2023-05-12 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7247530B2 (ja) * 2018-11-16 2023-03-29 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7247531B2 (ja) * 2018-11-16 2023-03-29 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11633919B2 (en) 2019-06-12 2023-04-25 Stratasys Ltd. System and method for three-dimensional printing
US20220134674A1 (en) * 2019-07-09 2022-05-05 Hewlett-Packard Development Company, L.P. Generation Of Modified Model Data For Three Dimensional Printers
US11551417B2 (en) 2019-11-15 2023-01-10 Teton Simulation Software, Inc. Meshing operation for representing a 3D printed object
WO2021107916A1 (en) * 2019-11-25 2021-06-03 Hewlett-Packard Development Company, L.P. Generating supports
US11449647B2 (en) 2020-01-21 2022-09-20 Autodesk, Inc. Generative shell design for simulations
US11508110B2 (en) 2020-02-03 2022-11-22 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by performing geometry analysis before rendering
US11514549B2 (en) 2020-02-03 2022-11-29 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase
US11170461B2 (en) * 2020-02-03 2021-11-09 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by performing geometry analysis while rendering
US11947333B2 (en) 2020-03-20 2024-04-02 Autodesk, Inc. Dual lattice representation for crash simulation and manufacturing
WO2021225603A1 (en) * 2020-05-08 2021-11-11 Hewlett-Packard Development Company, L.P. 3d printed object labels
DE102020215766A1 (de) * 2020-12-11 2022-06-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen
EP4015194A1 (en) * 2020-12-17 2022-06-22 Bond High Performance 3D Technology B.V. Extrusion-based additive manufacturing method and 3d printing system
DE102021124017B3 (de) * 2021-09-16 2022-12-22 Hyperganic Group GmbH Verfahren zum Erzeugen einer volumetrischen Textur für ein 3D-Modell eines physischen Objekts
DE102021129012A1 (de) * 2021-11-08 2023-05-11 Hyperganic Group GmbH Verfahren zum Erzeugen eines 3D-Modells mit innenliegenden Strukturen
CN114119925B (zh) * 2021-11-30 2022-11-25 完美世界(北京)软件科技发展有限公司 游戏图像的建模方法、装置及电子设备
CN117962314A (zh) * 2024-03-18 2024-05-03 江阴勰力机械科技有限公司 一种基于数字孪生的3d打印机三维建模方法及系统

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5503785A (en) 1994-06-02 1996-04-02 Stratasys, Inc. Process of support removal for fused deposition modeling
US6004124A (en) 1998-01-26 1999-12-21 Stratasys, Inc. Thin-wall tube liquifier
US7794629B2 (en) * 2003-11-25 2010-09-14 Qinetiq Limited Composite materials
US7149596B2 (en) * 2004-01-13 2006-12-12 Sensable Technologies, Inc. Apparatus and methods for modifying a model of an object to enforce compliance with a manufacturing constraint
US7384255B2 (en) 2005-07-01 2008-06-10 Stratasys, Inc. Rapid prototyping system with controlled material feedstock
US7604470B2 (en) 2006-04-03 2009-10-20 Stratasys, Inc. Single-motor extrusion head having multiple extrusion lines
WO2009013751A2 (en) 2007-07-25 2009-01-29 Objet Geometries Ltd. Solid freeform fabrication using a plurality of modeling materials
RU2479020C2 (ru) 2008-01-08 2013-04-10 Стратасис, Инк. Сменный картридж для системы послойного экструдерного осаждения
US7897074B2 (en) 2008-04-30 2011-03-01 Stratasys, Inc. Liquefier assembly for use in extrusion-based digital manufacturing systems
US7896209B2 (en) 2008-04-30 2011-03-01 Stratasys, Inc. Filament drive mechanism for use in extrusion-based digital manufacturing systems
US8153182B2 (en) 2008-10-21 2012-04-10 Stratasys, Inc. Adjustable head mount for digital manufacturing system
US8147910B2 (en) 2009-02-24 2012-04-03 Objet Ltd. Method and apparatus for three-dimensional printing
CN111098491A (zh) 2010-04-25 2020-05-05 斯特塔西有限公司 带外壳物体的实体无模制造
US9022769B2 (en) 2010-07-22 2015-05-05 Stratasys, Inc. Multiple-zone liquefier assembly for extrusion-based additive manufacturing systems
WO2012088257A1 (en) 2010-12-22 2012-06-28 Stratasys, Inc. Print head assembly and print head for use in fused deposition modeling system
US8818544B2 (en) 2011-09-13 2014-08-26 Stratasys, Inc. Solid identification grid engine for calculating support material volumes, and methods of use
US8879957B2 (en) 2011-09-23 2014-11-04 Stratasys, Inc. Electrophotography-based additive manufacturing system with reciprocating operation
US9108360B2 (en) 2011-09-23 2015-08-18 Stratasys, Inc. Gantry assembly for use in additive manufacturing system
US20130186558A1 (en) 2011-09-23 2013-07-25 Stratasys, Inc. Layer transfusion with heat capacitor belt for additive manufacturing
US8488994B2 (en) 2011-09-23 2013-07-16 Stratasys, Inc. Electrophotography-based additive manufacturing system with transfer-medium service loops
ES2671252T3 (es) * 2011-11-17 2018-06-05 Stratasys Ltd. Sistema y método para fabricar un modelo de una parte del cuerpo usando fabricación aditiva con múltiples materiales
US9073263B2 (en) 2011-12-22 2015-07-07 Stratasys, Inc. Spool assembly for additive manufacturing system, and methods of manufacture and use thereof
US8985497B2 (en) 2011-12-22 2015-03-24 Stratasys, Inc. Consumable assembly with payout tube for additive manufacturing system
US9090428B2 (en) 2012-12-07 2015-07-28 Stratasys, Inc. Coil assembly having permeable hub
JP6306616B2 (ja) * 2013-03-14 2018-04-04 ストラタシス リミテッド 3次元プリンティングのためのスライシングおよび/またはテクスチャリング
WO2014172687A2 (en) * 2013-04-18 2014-10-23 Massachusetts Institute Of Technology, Inc. Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications
US9573024B2 (en) * 2013-12-31 2017-02-21 Nike, Inc. 3D printed golf ball core
JP6497787B2 (ja) 2014-03-11 2019-04-10 スリーディー システムズ インコーポレーテッド 3d印刷用インク
CN104063894B (zh) * 2014-06-13 2017-02-22 中国科学院深圳先进技术研究院 点云三维模型重建方法及系统
US10065373B2 (en) * 2014-10-09 2018-09-04 Autodesk, Inc. Multi-material three dimensional models
EP3023229B1 (en) * 2014-11-24 2021-09-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A method for three-dimensional color printing and a three-dimensional color printing device
US20160167306A1 (en) 2014-12-11 2016-06-16 Massachusetts Institute Of Technology Systems and methods of hierarchical material design for additive fabrication
EP3234709A1 (en) * 2014-12-17 2017-10-25 SABIC Global Technologies B.V. Identifying a characteristic of a material for additive manufacturing
US9868222B2 (en) * 2014-12-26 2018-01-16 David Leason Tool for wrapping paper and kit for containing same
WO2016122634A1 (en) * 2015-01-30 2016-08-04 Hewlett-Packard Development Company, L.P. Generating slice data from a voxel representation
GB2536061B (en) * 2015-03-06 2017-10-25 Sony Interactive Entertainment Inc System, device and method of 3D printing
GB2536062A (en) * 2015-03-06 2016-09-07 Sony Computer Entertainment Inc System, device and method of 3D printing
US10678217B2 (en) * 2015-04-20 2020-06-09 Hewlett-Packard Development Company, L.P. Creating a voxel representation of a three dimensional (3-D) object
GB2537636B (en) * 2015-04-21 2019-06-05 Sony Interactive Entertainment Inc Device and method of selecting an object for 3D printing
GB201512304D0 (en) * 2015-07-13 2015-08-19 Whispering Gibbon Ltd Preparing a polygon mesh for printing
WO2017011456A1 (en) * 2015-07-16 2017-01-19 Velo3D, Inc. Material-fall three-dimensional printing
US20180240263A1 (en) 2016-02-25 2018-08-23 Stratasys, Ltd. Gpu material assignment for 3d printing using 3d distance fields

Also Published As

Publication number Publication date
US11024075B2 (en) 2021-06-01
EP3420481A1 (en) 2019-01-02
JP2020172111A (ja) 2020-10-22
US20180240263A1 (en) 2018-08-23
WO2017147412A1 (en) 2017-08-31
US11625889B2 (en) 2023-04-11
JP2019512408A (ja) 2019-05-16
JP7155199B2 (ja) 2022-10-18
US20200035015A1 (en) 2020-01-30
JP6730440B2 (ja) 2020-07-29
US20230252720A1 (en) 2023-08-10
US20210279944A1 (en) 2021-09-09
EP3420481B1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
ES2953536T3 (es) Asignación de material de GPU para impresión 3D usando campos de distancia 3D
US20140324204A1 (en) Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications
US11701831B2 (en) Method and system for rendering data for addressable dispensing
CN112677489B (zh) 一种打印路径规划方法、系统和3d打印机
EP3856499B1 (en) Method and system for diffusing color error into additive manufactured objects
US11954413B2 (en) Evaluating candidate virtual build volumes
Vassilakos et al. Fabrication of parts with heterogeneous structure using material extrusion additive manufacturing
US11221609B2 (en) Determining object volumes in virtual object space
US20220083712A1 (en) Object manufacturing simulation
CN107209497B (zh) 设置用于增材制造方法的三维物体打印属性的方法
US11367245B2 (en) Transforming object data models to disperse object properties
US10061284B2 (en) Three-dimensional printing using fast STL file conversion
WO2022086554A1 (en) Agent map generation
US11993022B2 (en) Separation of objects for additive manufacturing
US11521351B2 (en) Associating object property data with locations
US20180043631A1 (en) Adaptive layer height
WO2021080561A1 (en) Surface offsets
WO2020068059A1 (en) Evaluating candidate virtual build volumes