EA030014B1 - Способ изготовления трехмерного изделия наращиванием слоев и устройство для выполнения этого способа - Google Patents

Способ изготовления трехмерного изделия наращиванием слоев и устройство для выполнения этого способа Download PDF

Info

Publication number
EA030014B1
EA030014B1 EA201390556A EA201390556A EA030014B1 EA 030014 B1 EA030014 B1 EA 030014B1 EA 201390556 A EA201390556 A EA 201390556A EA 201390556 A EA201390556 A EA 201390556A EA 030014 B1 EA030014 B1 EA 030014B1
Authority
EA
Eurasian Patent Office
Prior art keywords
operating point
counter
point
line
points
Prior art date
Application number
EA201390556A
Other languages
English (en)
Other versions
EA201390556A1 (ru
Inventor
Андре-Люк Алланик
Original Assignee
Продуэйз
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 Продуэйз filed Critical Продуэйз
Publication of EA201390556A1 publication Critical patent/EA201390556A1/ru
Publication of EA030014B1 publication Critical patent/EA030014B1/ru

Links

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

Объектом изобретения является способ изготовления изделия, согласно которому для каждой рабочей точки (11, 30), по которой определяют, находятся ли точки (11; 30) конечного пространства внутри или снаружи объекта, обычно соответствующего изготавливаемому изделию или части (слою, срезу) изготавливаемого изделия, способ включает в себя следующие этапы: определяют по меньшей мере одну линию (12) из линии, проходящей через эту рабочую точку (11; 30), с которой связан счетчик, выделенный только для этой рабочей точки, и из линии, проходящей через изображение (31) рабочей точки, с которым связан счетчик, выделенный специально для этого изображения рабочей точки, и на каждой из элементарных поверхностей осуществляют итерацию следующих операций: поиск пересечения между элементарной поверхностью (15) и одной из линий среди линии (12), проходящей через рабочую точку (11; 30), и линии, проходящей через изображение (31) рабочей точки; изменение счетчика, если пересечение существует, и определяют, находится ли рабочая точка внутри или снаружи объекта в зависимости от счетчика, выделенного только для рабочей точки (11; 30). Применение для стереолитографии и для быстрого прототипирования.

Description

Настоящее изобретение призвано предложить способ или устройство литографии, позволяющие решить по меньшей мере одну из вышеупомянутых проблем.
Сущность изобретения
Объектом изобретения является способ изготовления изделия, согласно которому определяют (как правило, на основании описательных данных объекта), находятся ли точки конечного пространства внутри или снаружи объекта, разложенного на элементарные поверхности, при этом упомянутый объект соответствует изготавливаемому изделию или части или слою или срезу изготавливаемого изделия, отличающийся тем, что для каждой рабочей точки, для которой необходимо определить, находится ли она внутри или снаружи объекта, способ включает в себя следующие этапы:
определяют по меньшей мере одну линию из линии, проходящей через эту рабочую точку, с которой связан счетчик, выделенный специально для этой рабочей точки, и из линии, проходящей через изображение (поступательное движение, вращение, их комбинация и т.д.) рабочей точки, с которым связан счетчик, выделенный специально для этого изображения рабочей точки, и
на каждой из элементарных поверхностей осуществляют итерацию следующих операций:
поиск пересечения между элементарной поверхностью и только одной из линий среди линии, проходящей через рабочую точку, и линии, проходящей через изображение рабочей точки, изменение счетчика, если пересечение существует, и
определяют, находится ли рабочая точка внутри или снаружи объекта в зависимости от счетчика, выделенного только для рабочей точки.
Каждая линия может быть прямой линией или кривой линией.
В первом варианте способ в соответствии с изобретением отличается тем, что
определение по меньшей мере одной линии включает в себя определение линии, проходящей через рабочую точку, с которой связан счетчик, выделенный только для этой рабочей точки, и/или
итерация включает в себя, на каждой из элементарных поверхностей, итерацию следующих операций:
поиск пересечения между элементарной поверхностью и линией, проходящей через рабочую точку, изменение счетчика, если пересечение существует, и/или
- 2 030014
определение, находится ли рабочая точка внутри или снаружи объекта, включает в себя определение, находится ли рабочая точка внутри или снаружи объекта, в зависимости от значения счетчика, выделенного только для рабочей точки.
В этом первом варианте линия может проходить через начало, и изменение счетчика может содержать:
если пересечение находится за пределами рабочей точки по отношению к началу линии, счетчик не изменяют и
если пересечение находится не за пределами рабочей точки по отношению к началу линии, счетчик изменяют по-разному в зависимости от того, соответствует пересечение линии входу линии в объект или выходу линии из объекта по отношению к началу.
Во втором варианте способ в соответствии с изобретением отличается тем, что
определение по меньшей мере одной линии включает в себя определение линии, проходящей через
рабочую точку, с которой связан счетчик, выделенный только для этой рабочей точки, и линии, проходящей через изображение рабочей точки, с которым связан счетчик, выделенный только для этого изображения рабочей точки, и/или
способ дополнительно содержит разделение элементарных поверхностей на две разные группы: группу поверхностей входа в объект и группу поверхностей выхода из объекта по отношению к направлению перемещения, и/или
итерация включает в себя, на каждой из элементарных поверхностей, итерацию следующих операций:
если поверхность является поверхностью входа, - поиск пересечения между этой элементарной поверхностью и линией, проходящей через рабочую точку, и изменение счетчика, связанного с рабочей точкой, если пересечение существует, и/или
если поверхность является поверхностью выхода, - поиск пересечения между этой элементарной поверхностью и линией, проходящей через изображение рабочей точки, и изменение счетчика, связанного с изображением рабочей точки, если пересечение существует, и/или
определение, находится ли рабочая точка внутри или снаружи объекта, включает в себя определение, находится ли рабочая точка внутри или снаружи объекта, в зависимости от счетчика, выделенного для рабочей точки, и от счетчика, выделенного для изображения рабочей точки.
В этом втором варианте определение, находится ли рабочая точка внутри или снаружи объекта, в зависимости от счетчика, выделенного для рабочей точки, и от счетчика, выделенного для изображения рабочей точки, может включать в себя сравнение счетчика, выделенного для рабочей точки, и счетчика, выделенного для изображения рабочей точки.
В этом втором варианте для совокупности рабочих точек и изображений рабочих точек предпочтительно линии, проходящие через эти точки, являются параллельными.
В обоих вариантах для совокупности рабочих точек и изображений рабочих точек линии, проходящие через эти точки, могут быть параллельными или не параллельными.
Предпочтительно для совокупности рабочих точек и изображений рабочих точек линии, проходящие через эти точки, не пересекаются внутри конечного пространства.
Пространство может быть трехмерным пространством или двухмерным пространством. Если пространство является трехмерным пространством, рабочие точки могут быть сгруппированы в рабочей поверхности, при этом каждая линия, проходящая через рабочую точку, и каждая линия, проходящая через изображение рабочей точки, предпочтительно является поперечной к этой рабочей поверхности через эту рабочую точку. Рабочая поверхность может соответствовать слою или по меньшей мере части слоя, наносимого для изготовления изделия посредством быстрого прототипирования.
Этап итерации можно осуществлять параллельно во времени для нескольких элементарных поверхностей.
По меньшей мере для одной элементарной поверхности этап итерации можно осуществлять параллельно во времени для нескольких рабочих точек.
Предпочтительно осуществляемые параллельно этапы итерации синхронизируют по фиксированной продолжительности выполнения, а не по ожиданию конца задачи.
Предпочтительно каждая линия, проходящая через одну рабочую точку, отличается от других линий, проходящих через другие рабочие точки.
Как правило по меньшей мере один из этапов описанного выше способа в соответствии с изобретением и предпочтительно каждый из этапов описанного выше способа в соответствии с изобретением осуществляют не абстрактно или исключительно интеллектуально, а с использованием технического средства.
Как правило, каждый из этапов описанного выше способа в соответствии с изобретением можно осуществлять при помощи, по меньшей мере, компьютера, центрального или вычислительного блока, аналоговой электронной схемы (предпочтительно выделенной), цифровой электронной схемы (предпочтительно выделенной) и/или микропроцессора (предпочтительно выделенного), и/или программных средств.
- 3 030014
После определения, какая точка пространства находится внутри или снаружи объекта, способ в соответствии с изобретением может включать в себя изготовление изделия посредством быстрого прототипирования и/или наращивания слоев, например, при помощи стереолитографии или посредством нанесения нити.
Еще одним объектом изобретения является устройство для изготовления изделия, в котором применяют способ в соответствии с изобретением, содержащее средства для определения (как правило, на основании описательных данных объекта), находятся ли точки конечного пространства внутри или снаружи объекта, разложенного на элементарные поверхности, при этом, как правило, упомянутый объект соответствует изготавливаемому изделию или части или слою или срезу изготавливаемого изделия, отличающееся тем, что для каждой рабочей точки, для которой необходимо определить, находится ли она внутри или снаружи объекта, устройство содержит
средства для определения по меньшей мере одной линии из линии, проходящей через эту рабочую точку, с которой связан счетчик, выделенный только для этой рабочей точки, и из линии, проходящей через изображение рабочей точки, с которым связан счетчик, выделенный только для этого изображения рабочей точки, и
средства для итерации на каждой из элементарных поверхностей следующих операций:
поиск пересечения между элементарной поверхностью и только одной из линий среди линии, проходящей через рабочую точку, и линии, проходящей через изображение рабочей точки, изменение счетчика, если пересечение существует, и
средства для определения, находится ли рабочая точка внутри или снаружи объекта в зависимости от счетчика, выделенного только для рабочей точки.
Каждая линия может быть прямой линией или кривой линией.
В первом варианте устройство в соответствии с изобретением отличается тем, что
средства для определения по меньшей мере одной линии содержат средства для определения линии, проходящей через рабочую точку, с которой связан счетчик, выделенный только для этой рабочей точки, и/или
средства итерации включают в себя средства итерации, на каждой из элементарных поверхностей, следующих операций:
поиск пересечения между элементарной поверхностью и линией, проходящей через рабочую точку, изменение счетчика, если пересечение существует, и/или
средства для определения, находится ли рабочая точка внутри или снаружи объекта, включают в себя средства определения, находится ли рабочая точка внутри или снаружи объекта, в зависимости от значения счетчика, выделенного только для рабочей точки.
В этом первом варианте линия может проходить через начало, и средства итерации могут быть выполнены с возможностью изменения счетчика следующим образом:
если пересечение находится за пределами рабочей точки по отношению к началу линии, счетчик не изменяют и
если пересечение находится не за пределами рабочей точки по отношению к началу линии, счетчик изменяют по-разному в зависимости от того, соответствует пересечение линии входу линии в объект или выходу линии из объекта по отношению к началу.
Во втором варианте устройство в соответствии с изобретением отличается тем, что
средства для определения по меньшей мере одной линии включают в себя средства определения
линии, проходящей через рабочую точку, с которой связан счетчик, выделенный только для этой рабочей точки, и определения линии, проходящей через изображение рабочей точки, с которым связан счетчик, выделенный только для этого изображения рабочей точки, и/или
устройство дополнительно содержит средства разделения элементарных поверхностей на две разные группы: группу поверхностей входа в объект и группу поверхностей выхода из объекта по отношению к направлению перемещения, и/или
средства итерации включают в себя средства итерации, на каждой из элементарных поверхностей, следующих операций:
если поверхность является поверхностью входа, - поиск пересечения между этой элементарной поверхностью и линией, проходящей через рабочую точку, и изменение счетчика, связанного с рабочей точкой, если пересечение существует,
если поверхность является поверхностью выхода, - поиск пересечения между этой элементарной поверхностью и линией, проходящей через изображение рабочей точки, и изменение счетчика, связанного с изображением рабочей точки, если пересечение существует, и/или
средства для определения, находится ли рабочая точка внутри или снаружи объекта, включают в себя средства определения, находится ли рабочая точка внутри или снаружи объекта, в зависимости от счетчика, выделенного для рабочей точки, и от счетчика, выделенного для изображения рабочей точки.
В этом втором варианте средства, определяющие, находится ли рабочая точка внутри или снаружи объекта, в зависимости от счетчика, выделенного для рабочей точки, и от счетчика, выделенного для изображения рабочей точки, могут включать в себя средства сравнения счетчика, выделенного для рабо- 4 030014
чей точки, и счетчика, выделенного для изображения рабочей точки.
В этом втором варианте для совокупности рабочих точек и изображений рабочих точек линии, проходящие через эти точки, предпочтительно являются параллельными.
В обоих вариантах для совокупности рабочих точек и изображений рабочих точек линии, проходящие через эти точки, могут быть параллельными или не параллельными.
Предпочтительно для совокупности рабочих точек и изображений рабочих точек линии, проходящие через эти точки, не пересекаются внутри конечного пространства.
Пространство может быть трехмерным пространством или дву хмерным пространством. Если пространство является трехмерным пространством, рабочие точки могут быть сгруппированы в рабочей поверхности, и каждая линия, проходящая через рабочую точку, и каждая линия, проходящая через изображение рабочей точки, предпочтительно является поперечной к этой рабочей поверхности через эту рабочую точку. Рабочая поверхность может соответствовать слою или по меньшей мере части слоя, наносимого для изготовления изделия посредством быстрого прототипирования.
Средства итерации могут быть выполнены с возможностью параллельного осуществления во времени итераций для нескольких элементарных поверхностей.
По меньшей мере для одной элементарной поверхности средства итерации могут быть выполнены с возможностью параллельного осуществления во времени итераций для нескольких рабочих точек.
Устройство в соответствии с изобретением может дополнительно содержать средства для синхронизации осуществляемых параллельно итераций по фиксированной продолжительности выполнения, а не по ожиданию конца задачи.
Предпочтительно каждая линия, проходящая через одну рабочую точку, отличается от других линий, проходящих через другие рабочие точки.
Как правило, по меньшей мере одно из описанных выше средств устройства в соответствии с изобретением и предпочтительно каждое из средств описанного выше устройства в соответствии с изобретением является техническим средством.
Как правило, каждое из средств описанного выше устройства в соответствии с изобретением может содержать, по меньшей мере, компьютер, центральный или вычислительный блок, аналоговую электронную схему (предпочтительно выделенную), цифровую электронную схему (предпочтительно выделенную), и/или микропроцессор (предпочтительно выделенный), и/или программные средства.
После определения, какая точка пространства находится внутри или снаружи объекта, устройство в соответствии с изобретением может содержать средства изготовления изделия посредством быстрого прототипирования и/или наращивания слоев, например, при помощи стереолитографии или посредством нанесения нити.
Еще одним объектом изобретения является изделие, полученное при помощи способа изготовления в соответствии с изобретением или при помощи устройства в соответствии с изобретением.
Описание фигур и вариантов выполнения
Другие преимущества и отличительные признаки изобретения будут более очевидны из нижеследующего описания не ограничительных примеров и вариантов выполнения со ссылками на прилагаемые чертежи, на которых
фиг. 1 иллюстрирует известный способ;
фиг. 2 - различные данные способа в соответствии с изобретением;
фиг. 3 - первый пример осуществления способа в соответствии с изобретением;
фиг. 4 - наложение нескольких перекрывающих друг друга полимеризуемых слоев, полученных при
помощи первого примера осуществления способа в соответствии с изобретением;
фиг. 5 - различные точки и изображения точек во втором примере осуществления способа в соответствии с изобретением;
фиг. 6 - второй пример осуществления способа в соответствии с изобретением.
Далее со ссылками на фиг. 2-6 следует описание различных вариантов осуществления способа в соответствии с изобретением для изготовления изделия посредством быстрого прототипирования. Для этого рассмотрим объект О (обозначенный позицией 6), который является по меньшей мере частью изготавливаемого изделия.
Объект О является объектом
в трехмерном пространстве Е (объект 3Ό), как показано на фиг. 2, и в этом случае объект 3Ό соответствует изготавливаемому изделию 3Ό, или
в двухмерном пространстве Е, как показано на фиг. 3-5: в этом случае этот объект 2Ό в двухмерном пространстве обычно соответствует срезу формируемого изделия 3Ό; этот срез может представлять собой любой наклонный или иной срез формируемого изделия 3Ό, предпочтительно вертикальный, но предпочтительно не является одним из горизонтальных слоев, наносимых для изготовления изделия посредством быстрого прототипирования. Кроме того, в случае, когда объект является двухмерным, каждая поверхность δ1, δ.ί, Р или К, которые будут описаны ниже, является поверхностью нулевой ширины, т.е. линией.
Обычно под двухмерным пространством понимают
- 5 030014
либо поверхность или плоскость, которую можно разложить на точки или пиксели,
либо слой, который можно разложить на воксели вдоль двух пространственных направлений X и Υ
и который имеет толщину в один воксель вдоль третьего пространственного направления Ζ.
Под трехмерным пространством обычно понимают пространство, которое можно разложить на воксели вдоль каждого из трех пространственных направлений X, Υ и Ζ.
Сначала со ссылками на фиг. 2 будут описаны различные данные и информация, используемые в примерах способа в соответствии с изобретением или необходимые для понимания способа в соответствии с изобретением.
Предварительно попробуем выдвинуть некоторое число гипотез.
Существует описание объекта О, как правило, в виде по меньшей мере одного компьютерного файла данных.
Предположительно объект О описан в конечном пространстве Е. Пространство Е является эвклидовым пространством.
Описание объекта О позволяет однозначно определить, является или не является точка пространства Е частью объекта О. Это может предполагать коррекцию неопределенностей, которые иногда встречаются в некоторых поврежденных файлах (так называемые незакрытые файлы). Многие программы позволяют корректировать эти файлы вручную или автоматически. В рамках описанных примеров изобретения будет рассмотрен случай, когда все неопределенности сняты.
Описание объекта О представляет собой разбивку объекта О на несколько ориентированных и предпочтительно плоских элементарных поверхностей 81:
Например, это условие обеспечено, если объект О описан в фактическом стандарте быстрого прототипирования, т.е. в виде набора ориентированных треугольников. Такой стандарт называют 8ТЬ (от "стереолитография"). Если объект описан в формате программного обеспечения САО, то все равно существуют интерфейсы 8ТЬ, которые соблюдают первоначальную форму вплоть до случайно повышенных уточнений.
Способ в соответствии с изобретение осуществляют на основании этих описательных данных объекта О, которые принимают вид либо разложения объекта О на несколько элементарных поверхностей 81, ориентированных, имеющих не нулевую площадь и предпочтительно плоских, если объект О описан в трехмерном пространстве Е, либо разложения объекта О на несколько элементарных линий 81 (для упрощения описания тоже называемых элементарными поверхностями), ориентированных и предпочтительно прямых, если объект О описан в двухмерном пространстве Е.
Во всем данном документе каждый индекс ί или _) является натуральны целым числом от 1 до М, где М, например, в зависимости от случая является общим числом рабочих точек Ό1 или элементарных поверхностей, соответственно 81 или 8Р
Определяют рабочую плоскость Р (обозначенную 7), ориентированную по своей нормали N (обозначенной 8).
Определяют проекцию Р, которая с любой точкой X (или АЕ или Υ или Ό1 в зависимости от рассматриваемой точки) пространства Е, не принадлежащей к Р, связывает точку АР, принадлежащую к Р, или указывает, что не существует точки Р, удовлетворяющей проекции, т.е. что Р не применяется. Если Р применяется, обозначают Ар в виде Р(Х).р точку Р проекции по Р точки X, или как Р(Э1).р (обозначенную 9) точку Р проекции по Р точки Ό1.
Р удовлетворяет следующим условиям.
a. Совокупность точек Е, проекцией которой является одна и та же точка Ар плоскости Р, обозначенная Р{Ар} (или РЩ^.р}, Р{Р(Э1).р},... в зависимости от рассматриваемой точки, обозначаемой также РЩ^)}, Р{Р(Э1)},...), является сплошной, дифференцируемой и имеющей размер 1. Следовательно, по этой совокупности можно определить криволинейную координату, а также касательную в любой точке.
ΐ. РОДл' обозначает криволинейную координату X вдоль РЩ^.р}. и. Р^.п обозначает касательную к РЩ^.р} в точке X.
b. Точка пространства Е может иметь только одну проекцию по Р (а именно: если проекцией X является Р^.р, а проекцией Υ является Е(М).р и если Р^.р не совпадает с Е(М).р. значит X не совпадает с Υ).
c. "Криволинейная координата" вдоль совокупности Р{АР} представляет собой отношение порядка на Р{АР}.
Условия а и Ь удовлетворены, например, для "ортографической" проекции с направлением проекции, не параллельным относительно Р, и с точкой перспективы в бесконечность, или для проекции, которая начинается от точки перспективы Аь которая определяет Ар как пересечение прямой (ААе) с Р, если оно существует. В интересующем нас случае можно определить проекции, которые основаны не на прямых, а на моделировании световых путей в оптической системе (ломаные линии), например, чтобы учитывать геометрические деформации используемого устройства.
Условие с может быть удовлетворено просто с криволинейной координатой, равной линейному
- 6 030014
расстоянию вдоль Р{АР} между началом и рассматриваемой точкой. Однако из соображений совместимости вычислений с другими требованиями (использование однородных координат) мы предпочтительно возьмем эта линейное расстояние в его обратном виде с началом, которое не находится на Р, причем все это умножается на константу. Алгоритм можно также вполне применять на других примерах монотонных функций. Важно, чтобы к элементам Р{Ар} можно было применить отношение порядка, т.е. сравнить значения между собой и убедиться, что сравнение является транзитивным.
После этого рассмотрим совокупность
(обозначение 10) рабочих точек Ό1 (обозначение 11) пространства Е, для которых существует проекция по Р и по каждой из которых требуется узнать, являются они частью объекта О или нет. В идеале эта совокупность содержит множество точек (например, сотни тысяч), чтобы наилучшим образом воспользоваться применяемой моделью 8ΙΜΌ. Способ в соответствии с изобретением работает исключительно хорошо для элементов в количестве от нескольких десятков до нескольких десятков миллионов.
Далее следует его описание (фиг. 2) в виде следующих этапов Ι-ΐν.
I. Факультативно определяют подгруппу О' (обозначение 14) от О
О'=[ 5ί ί
таким образом, чтобы представить объект О' в виде разбивки объекта О' на множество элементарных поверхностей 8_ί (обозначение 15), выбранных среди ориентированных и предпочтительно плоских 81. Интерес определения такой подгруппы показан на фиг. 2: для объекта О, содержащего кожух 34 и крылья 35, можно рассматривать только объект О', содержащий только кожух 34 без крыльев 35, чтобы узнать, находятся ли точки Ό1 совокупности Ό в кожухе 34 и, следовательно, в объекте О. Подгруппу О' определяют
либо сохраняя О'=О (в этом случае совокупность поверхностей 8, соответствует совокупности §1, и в дальнейшем описании достаточно заменить §ί на 8; и О' на О),
либо факультативно реализуя фильтр согласно следующим этапам а. и Ь.:
a. определяют область К (обозначение 16) плоскости Р, содержащую все Р(О,).р:
b. определяют такую подгруппу О' в О, при которой элемент объекта О, не являющийся частью О', не имеет проекции по Р на Р, принадлежащей к К. Этот этап сортировки классически используют в информатике для сокращения времени вычисления, применяя его локально к меньшей подгруппе (в данном случае только к элементам О, которые могут иметь проекцию в К).
II. для любого элемента Ό1, принадлежащего к Ό, т.е. для каждой рабочей точки Ό1, для которой необходимо определить, находится она внутри или снаружи объекта О', определяют линию Р{Р(Э1).р} (обозначение 12), проходящую через эту рабочую точку, и определяют Ρ(Ό1).ν (обозначение 13) криволинейную координату рабочей точки Ό1 вдоль Р{Р(Э1).р}. Если Е является трехмерным пространством, то, как показано на фиг. 2, выбирают
совокупность Ό рабочих точек Ό1, чтобы эти точки Ό1 были сгруппированы в рабочей плоскости или рабочей поверхности 36, при этом плоскость или поверхность 36 предпочтительно соответствует слоям, наносимым для изготовления изделия посредством быстрого прототипирования, и
каждую линию Р{Р(Э1).р} таким образом, чтобы она была поперечной к этой плоскости или поверхности 36 через точку Ό1, связанную с этой линией.
Это позволяет максимизировать число итераций (описанный ниже этап IV), осуществляемых параллельно во времени, и может даже позволить итерировать операции одновременно во времени по всем рабочим точкам (пикселям или вокселям) одного слоя при быстром прототипировании;
III. с каждой рабочей точкой Ό1, для которой необходимо определить, находится она внутри или снаружи объекта О', и, следовательно, с любой линией Р{Р(Э1).р} связывают счетчик, выделенный только для этой рабочей точки Ό1, обозначенный Р(Э1).с, значение которого инициализируют на 0;
IV. на каждой из элементарных поверхностей 8) итерируют следующие операции: для каждого элемента 8_), принадлежащего к О', отмечают его нормаль N (обозначение 17). Для любой Ό1, принадлежащей к Ό, вычисляют пересечение между Р{Р(Э1).р} и 8Р Иначе говоря, выявляют пересечение между элементарной поверхностью 8_ί и линией Р{Р(Э1).р}, проходящей через рабочую точку Ό1:
ΐ. если пересечения нет, переходят к следующей Ό1, ίί. если есть пересечение I (обозначенное 18) и если Ρφ.ν^φφν, т.е. если пересечение I находится за пределами положения точки Ό1 вдоль линии Р{Р(Э1).р} относительно начала Ρ(Ό1).ν=0 линии, переходят к следующей Ό1,
ίίί. если Ρφ.ν^Ρφφν, т.е. если пересечение I находится перед или на положении рабочей точки Ό1 вдоль линии Р{Р(Э1).р} относительно начала Ρ(Ό1).ν=0 линии, и
если скалярное произведение
и _►
ЛЦА(/).л>0,
т.е. если поверхность 8_) является поверхностью входа линии внутри объекта О', счетчик Р(Э1).с изменяют в соответствии с изменением входа (обычно Р(Э1).с инкрементируют на 1 единицу), в противном случае (если скалярное произведение
- 7 030014
и -►
ЛР.Г(7><0,
т.е. если поверхность является поверхностью выхода линии наружу объекта О') счетчик Р(И;).с изменяют в соответствии с изменением выхода на значение, противоположное изменению входа (обычно Р(И;).с декрементируют на 1 единицу).
V. Принадлежность И; к объекту О' выводят через знак Р(И;).с: Ώ; принадлежит к О', если и только если Р(Э;).с>0. Иначе говоря, определяют находится рабочая точка внутри или снаружи объекта О' в зависимости от положительного или отрицательного значения (или знака) счетчика Р(И1).с, выделенного только для рабочей точки И;.
Почти все вычисления в рамках заявленного способа производят во время этапа IV, который имеет следующие основные признаки:
вычисление может быть простым (тщательно выбирая Р, можно, например, применить ее в виде пересечения между плоскостью и прямой);
применяемые элементарные операции (скалярные произведения, матричные произведения) по своей сущности являются векторными и следовательно легко поддаются параллелизации;
максимальная продолжительность операции ограничена (нет замкнутого цикла) и одинакова от одной операции к другой, если только операция имеет не тривиальный результат (т.е. если не переходят к следующей И;);
необходимые данные не являются многочисленными (потребность в и И;) и абсолютно не зависят
от результатов других промежуточных операций: и И; напрямую являются данными решаемой задачи.
Таким образом, этот заявленный способ очень хорошо подходит для осуществления в виде δΙΜΏ.
Команды программы являются общими для всех параллельных задач.
Данные не зависят ни от какой промежуточной операции.
Синхронизация является самой обычной за счет простой фиксированной продолжительности выполнения.
Кроме того, в зависимости от выбора положения начала и/или от выбора программирования абзацы ί-ίίί этапа IV могут меняться, например, согласно следующему варианту:
ΐ. если пересечения нет, переходят к следующей И;,
ΐΐ. если есть пересечение I (обозначенное 18) и если Ρ(Ι).ν<Ρ(ϋ;).ν, т.е. если пересечение I находится перед положением рабочей точки И; вдоль линии Р{Р(И;).р} относительно начала Ρ(Ώ;).ν=0 линии, переходят к следующей И;,
ίίί. если Р(Р)^>Р(П;А, т.е. если пересечение I находится за пределами положения рабочей точки И; вдоль линии Р{Р(И;).р} относительно начала Р(И;).'у=0 линии, и
если скалярное произведение
и -►
ЛС.Р(/).я>0,
т.е. если поверхность 8; является поверхностью входа линии внутри объекта О', счетчик Р(И;).с изменяют в соответствии с изменением входа (обычно Р(И;).с инкрементируют на 1 единицу), в противном случае (если скалярное произведение
и -►
/\С.Р(/).«<0,
т.е. если поверхность δ^ является поверхностью выхода линии наружу объекта О') счетчик Р(И;).с изменяют в соответствии с изменением выхода на значение, противоположное изменению входа (обычно Р(И;).с декрементируют на 1 единицу).
Подробный пример первого варианта выполнения изобретения (фиг. 3).
Далее со ссылками на фиг. 3 будет описан первый пример осуществления способа в соответствии с изобретением. Рассмотрим вид в разрезе, чтобы упростить описание (по сравнению с видом, показанным на фиг. 2). Таким образом, в этом примере пространство Е является двухмерным.
Необходимо узнать, принадлежат ли к О три точки И={П1; И2; И3}. Объект О является прямоугольником, состоящим из элементарных поверхностей δ1, δ2, δ3 и δ4. В дальнейшем пересечение линии Р{Р(И;).р} с поверхностью 8) будет обозначаться Р;. При этом заявленный способ содержит следующие этапы.
1. Инициализация всех Р(И;).с на 0.
2. Вычисление всех Р(ЛДу.
3. Обработка 81.
а. Обработка И1.
ί. Вычисление I1!, которое существует.
11. РД^А^ИДм ίίί.
следовательно Р(И1).с уменьшают на одну единицу.
Ь. Обработка И2.
- 8 030014
ί. Вычисление Ι\, которого не существует.
с. Обработка Ό3.
ΐ. Вычисление Ι!3, которого не существует.
4. Обработка 82.
a. Обработка Όι.
ΐ. Вычисление Ι2ι, которое существует.
ΐΐ. Ρ(Ι2ι ).ν>Ρ(ϋ1).ν.
ίίί.
и -*
Ν2 . Ρ{ΐ[).η>0,
следовательно Р(О|).с увеличивают на одну единицу.
b. Обработка Ό2.
ΐ. Вычисление Ι22, которого не существует.
c. Обработка Ό3.
ΐ. Вычисление Ι23, которого не существует.
5. Обработка 83.
a. Обработка Όμ
ΐ. Вычисление Ι3μ которого не существует.
b. Обработка Ό2.
ΐ. Вычисление Ι32, которое существует.
ΐΐ. Ρ(Ι32).ν>Ρ(Ό2).ν.
ίίί.
и -ϊ—'
У, . Я(7, ).л >0,
следовательно Р(О2).с увеличивают на одну единицу.
c. Обработка Ό3.
ΐ. Вычисление Ι33, которого не существует.
6. Обработка 84.
a. Обработка Όμ
ΐ. Вычисление Ι4μ которого не существует.
b. Обработка Ό2.
ΐ. Вычисление Ι42, которое существует. ίί. Ρ(Ι42).ν<Ρ(Ό2).ν.
c. Обработка Ό3.
ΐ. Вычисление Ι43, которого не существует.
7. Конечный этап определения: в конце выполнения получаем:
a. Р(01).с=0-1+1=0, следовательно Ό] не принадлежит к 0: точка Ό1 находится снаружи объекта О.
b. Р(02).с=0+1=0, следовательно Ό2 принадлежит к 0: точка Ό2 находится внутри объекта О.
c. Р(О3).с=0, следовательно Ό3 не принадлежит к О: точка Ό3 находится снаружи объекта О.
Отличия и преимущества изобретения по сравнению с известными решениями.
Чтобы узнать, принадлежит точка пространства Е или не принадлежит к объекту О или О', не обязательно вычислять промежуточную структуру (слой, набор вокселей и т.д.), так как Е может быть непосредственно трехмерным пространством.
Таким образом, если объект О является объектом 3Ό, соответствующим изготавливаемому изделию 3Ό, можно определить, какая точка пространства Е находится внутри объекта при помощи заявленного способа, затем просто разбить этот объект О на слои, которые будут нанесены один за другим при помощи стереолитографии или посредством нанесения нити или другим способом. Это позволяет, в частности, оптимизировать разбивку, в частности ориентацию разбивки в зависимости от результата определения, какая точка находится внутри или снаружи объекта О.
Можно, наоборот, сначала рассечь изделие 3Ό на слои, при этом каждый из слоев будет представлять собой двухмерный объект О, по которому при помощи заявленного способа можно определить, какая точка находится внутри объекта О.
Результаты этого вычисления не используют повторно для определения чего бы то ни было относительно других точек Е. Разумеется, некоторые данные используются в нескольких вычислениях, но они являются исходными данными задачи. При вычислении пересечения между Р{Р(О1).р} и 8 для любой пары (у) элемент _) используют несколько раз для всех элементов ί и наоборот. Однако эти элементы, используемые несколько раз, не являются результатами вычисления, а данными, поэтому для достижения результатов нет необходимости ни в сложных синхронизациях, ни в специальном построении последовательностей команд. Согласно изобретению нет необходимости сохранять или запоминать наличие или координаты точек пересечения, поэтому их не записывают в память.
Сравнивая изобретение, представленное на фиг. 3, с известным решением, представленным на фиг. 1, можно заметить, что согласно изобретению линии Ρ{Ρ(Ό1).ρ} могут быть не параллельными. В этом случае предпочтительно все линии Ρ{Ρ(Ό1).ρ}, связанные с точками Ό1, не пересекаются внутри про- 9 030014
странства Е. Как показано на фиг. 3, точка А находится снаружи пространства Е.
Основным отличием изобретения от известного решения является то, что каждый счетчик связан только с одной единственной точкой или пикселем или вокселем, тогда как в известном решении каждый счетчик связан с совокупностью пикселей, находящихся на линии 3. Иначе говоря, согласно изобретению, используют столько же счетчиков (как в первом примере варианта выполнения, и даже вдвое больше, как во втором примере варианта выполнения, описанном ниже), сколько и рабочих точек, тогда как в известном решении один счетчик может быть связан с несколькими тысячами находящихся на одной линии пикселей. Основным преимуществом способа в соответствии с изобретением является то, что его можно осуществлять исключительно быстро. Действительно, согласно изобретению, можно производить вычисления по каждому пересечению элементарной поверхности 8 с линией, проходящей через рабочую точку Ό1
параллельно во времени (т.е. одновременно или не дожидаясь результата другого вычисления пересечения) для нескольких и даже для всех элементарных поверхностей 8, и/или
параллельно во времени (т.е. одновременно или не дожидаясь результата другого вычисления пересечения) для нескольких и даже для всех рабочих точек Ό1.
Чтобы просто проиллюстрировать это техническое преимущество
согласно известному решению, представленному на фиг. 1, как было указано выше, начинают с конца линии 3 и направляются к другому краю сечения, обновляя счетчик "число входов/выходов в материал и из материала" при исходном значении "0", и каждый раз при прохождении через пиксель, проверяют состояние счетчика: если он превышает 0, пиксель отмечают как находящийся в материале, и в противном случае наоборот. Таким образом, можно легко понять, что необходимо производить вычисления и определение относительно пикселя 19 до вычисления и определения, касающихся пикселя 20: невозможно делать вычисления для каждого пикселя или точки независимо друг от друга и необходимо обязательно производить последовательно одно за другим тысячи вычислений, соответствующих тысячам пикселей, находящихся на одной линии 3;
согласно первому примеру варианта выполнения, описанному выше со ссылками на фиг. 3, наоборот, несколько и даже все вычисления выявления пересечения и определение изменения счетчика 3а, 3Ь, 3с, 4а, 4Ь, 4с, 5а, 5Ь, 5с, 6а, 6Ь и 6с можно осуществлять параллельно во времени, затем параллельно во времени можно осуществлять несколько и даже все этапы определения 7а, 7Ь и 7с, находится ли рабочая точка Ό1, Ό2 или Ό3 внутри или снаружи объекта О.
Таким образом, этот заявленный способ очень хорошо подходит для осуществления в виде 8ΙΜΌ задачи или команды способа в соответствии с изобретением (закодированные внутри программы
или внутри выделенной аналоговой или цифровой схемы или выделенного микропроцессора) по поиску пересечения и определению изменения счетчика являются общими для всех пар "точка Ό1 и поверхность §ί", и, следовательно, их можно выполнять параллельно;
данные для этих задач или команд не зависят ни от какой промежуточной операции; синхронизация этих задач (при этом одна задача представляет собой один этап итерации, т.е. только
один блок [ΐνί и 1Уй и ΐνίίί] в описанном выше варианте выполнения или только один этап νΐΙΙ.ί) или νΐΙΙ.ίί) в варианте выполнения, который будет описан ниже) является тривиальной за счет простой фиксированной продолжительности выполнения, так как максимальная продолжительность этих задач ограничена (отсутствие замкнутого цикла) и является идентичной от одной операции к другой, как только операция имеет не тривиальный результат (т..е. как только присутствует пересечение, предполагающее изменение счетчика).
Обычно для синхронизации действуют следующим образом. Определяют верхний предел времени, который равен максимальной продолжительности этих задач, т.е. который равен этапу итерации (обозначенному Ιν в описанном выше варианте выполнения или νΙΙΙ в варианте выполнения, описанном ниже), для которого существует пересечение, требующее изменения счетчика. Затем, как правило, внутри процессора события развиваются следующим образом:
вначале готовят достаточный объем информации для осуществления (как правило, миллионов) "этапов итерации", затем
эти этапы итерации группируют по каждой элементарной поверхности, затем
эти этапы итерации разворачивают по каждой поверхности, одна за другой, создавая, таким образом, очередь из большого числа малых задач (как правило, миллионов); эти задачи распределяют по вычислительным узлам (как правило: сотни) по мере очистки очереди, затем
когда все вычислительные узлы готовы, их запускают все вместе. Каждый узел обрабатывает одну элементарную задачу; затем
ждут конца вычисления по каждому узлу. Продолжительность элементарной задачи является фиксированной, т.е. постоянной, какой бы ни была эта элементарная задача, и равной верхнему пределу времени. Поскольку каждый узел выполняет одну и туже задачу на разных данных, продолжительность узла является фиксированной, т.е. постоянной, независимо от рассматриваемого узла. Таким образом, исполнение всех узлов занимает одинаковое время, независимо от результата (т.е. есть пересечение или нет, изменяют счетчик вычисления или нет), так как продолжительность одного узла установлена фиксиро- 10 030014
ванной. Таким образом, задачи или итерации "синхронизируют" между собой по фиксированной продолжительности; затем
производят итерации, повторно заполняя вычислительные узлы и опять запуская их одновременное исполнение, пока очередь не станет пустой.
Таким образом, не происходит сложной синхронизации, требующей отслеживания конца исполнения итерации или вычисления. Можно предсказать общее время, зная размер очереди и не зная при этом индивидуального результата вычислений, тогда как это было бы необходимо, если бы синхронизацию осуществляли с выжиданием конца исполнения вычислений. Таким образом, изобретение в корне отличается от известного технического решения, которое наталкивает на мысль, что лучше высвобождать узлы, вычисления в которых являются тривиальными (нет пересечения), чтобы их ввести в последовательность очереди, в частности, в случае машины ΜΙΜΌ. Благодаря изобретению можно работать в режиме 8ΙΜΌ, тривиальные узлы не являются свободными, т.к. их привлекают к одновременному исполнению текущей команды в ходе задачи в их группе 8ΙΜΌ. При этом эффективность является более высокой, чем при привлечении узлов, занятых тривиальными задачами, для задач, ожидающих в очереди.
Дополнительное усовершенствование изобретения.
Знания внутреннего содержания изделия 3Ό с чисто математической точки зрения редко может быть достаточно для нормального изготовления соответствующего изделия. Очень часто специфические для способа параметры требуют небольшой адаптации этой информации. Например, при стереолитографии, как показано на фиг. 4, глубина 21 полимеризации слоя 22 на ранее нанесенном другом слое 23 больше глубины 24 этого слоя 22, в том виде как его наносят, чтобы обеспечивать хорошее сцепление между слоями (это называют "дополнительной полимеризацией"). Как показано на фиг. 4, вследствие этого затвердевающая область не является оптимальной с точки зрения соблюдения размеров изделия 3Ό, если используют исключительно только информацию, описывающую слой в ходе полимеризации. На примере, представленном на фиг. 4, в разрезе сбоку, при котором последовательные слои являются горизонтальными, видно, что чем меньше стенки 33 изделия являются вертикальными, тем больше размерные погрешности 25, 26 и 27 по сравнению с теоретическими контурами изготавливаемого изделия: для вертикальной стенки погрешность 27 является нулевой, для стенки, близкой к вертикали, погрешность 25 является незначительной, и для стенки, близкой к горизонтали, погрешность 26 является существенной.
Традиционное применяемое решение состоит в сравнении сечений. Оно представляет собой сложную операцию, описанную в патенте ЕР 0555369 В1. Она становится тем более сложной, поскольку основная информация оказывается утерянной, если манипулируют только сечениями: действительно, совершаемая ошибка обычно зависит от угла стенки по отношению к вертикали (см. фиг. 4).
Дополнительное усовершенствование изобретения позволяет учитывать дополнительную полимеризацию практически без увеличения времени вычисления, идеально контролировать любые углы, распределенные на изделии случайным образом, оставаясь при этом легким в осуществлении в режиме 8ΙΜΌ.
В частном случае, когда для каждой точки Ό1 проекция Р является такой, что Ρ{Ρ(Ό1).ρ} является
прямой, по меньшей мере, локально (т.е. в области пространства, содержащей Ό1 и О'), выражение и -►
% . А(/).н ,
используемое на описанном выше этапе ΐν.ίίί, сводится к выражению
и __
% . Р(П,).п ,
которое можно вычислить и табулировать даже до начала этапа Ιν. Если, кроме того, Р является такой, что все
являются идентичными (например, если Р является ортографической проекцией), то выражение Ν, . Р(Г).п
будет зависеть только от Ν,, т.е. от поверхности 8, в ходе обработки.
При этом вышеуказанную операцию можно переписать следующим образом, применяя ее для двух дополнительных групп 8^ что не повлечет за собой изменения времени исполнения (это представляет собой редакционную реорганизацию тех же вычислений). Если присвоить обозначение N различным
(условно являющимся идентичными), то теперь вместо ранее описанного этапа Ιν получаем следующие этапы.
IV. Для любого элемента 8^ принадлежащего к О', отмечаем его нормаль Ν, и делим О' на две дополнительные подгруппы 0+ и О- таким образом, что:
ΐ. подгруппа 0+ содержит все 8; (обозначенные 8+) объекта О', скалярное произведение ΝρΝ которых является положительным или нулевым, следовательно, элементарные поверхности δ+ί являются поверхностями входа внутрь объекта О', и
ΐΐ. подгруппа 0+ содержит все 8; (обозначенные δ-,) объекта О', скалярное произведение ΝρΝ кото- 11 030014
рых является отрицательным, следовательно, элементарные поверхности 8- являются поверхностями выхода наружу объекта О',
V. Для любого элемента 8^ принадлежащего к 0+ и для любой Ό1, принадлежащей к Ό, вычисляют пересечение между Р{Р(Э1).р} и 8_ί (растеризация).
ΐ. Если есть пересечение I и если Ρ(Ι).ν>Ρ(Ό1).ν, то Р(Э,).с инкрементируют на 1.
V. Для любого элемента 8^ принадлежащего к О" и для любой Ό1, принадлежащей к Ό, вычисляют пересечение между Ρ{Ρ(Ό1).ρ} и 8_ί (растеризация).
ΐ. Если есть пересечение I и если Ρ(Ι).ν>Ρ(Ό1).ν, то Р(Э,).с декрементируют на 1.
Идея состоит в том, чтобы использовать не один набор И точек, а два набора, обозначаемые Ό+ и Ό", и применять обработки, касающиеся 0+ и О", к их соответствующим наборам. Правильно выбрав Ό+ и Ό", можно вычислить специфические для способа компенсации.
Например, со ссылками на фиг. 5 рассмотрим проблему дополнительной полимеризации в стереолитографии. Падающий пучок приводит к отверждению части жидкости в соответствии с формой, зависящей от угла падения, и по глубине, зависящей от мощности. Набор Ό+ (обозначение 28) определяют как набор рабочих точек, которые находятся на поверхности жидкости слоя, а набор И"(обозначение 29) как набор точек на нижнем краю полимеризуемых зон. Таким образом, каждой точке Э, группы Ό+, в дальнейшем называемой Ό+1 (обозначение 30), соответствует точка И"1 (обозначение 31) группы Ό", которая является отображением Ό+1 при переносе Ό+1 вниз в направлении раздела между двумя слоями стереолитографии и по глубине 32 полимеризации одного слоя. С точки зрения алгоритма ничто не предполагает, что Ό+ и Н-являются плоскими, но в рассматриваемом примере Ό+ находится в плоскости поверхности жидкости, а И- является очень незначительно изогнутой поверхностью, которую можно было бы даже аппроксимировать с плоскостью для некоторых машин, если это позволяет их оптическое устройство.
Алгоритм слегка изменяют, и он принимает следующий вид.
I. Факультативно определяют подгруппу О' из
О:О'=0 у
ί
таким образом, чтобы описание объекта О' имело вид разложения объекта О' на несколько элементарных поверхностей 8^ выбранных из ориентированных и предпочтительно плоских 8!
либо сохраняя О'=О (в этом случае совокупность поверхностей 8_ί соответствует совокупности 81, и в дальнейшем описании достаточно заменить 8_ί на 81 и О' на О),
либо факультативно реализуя фильтр:
ΐ. определяют минимальную область К плоскости Р, содержащую все Р(О-1).р;
ΐΐ. определяют такую подгруппу О' из О, в которой элемент объекта О, не принадлежащий к О', не имеет проекции через Р на Р, принадлежащей к К. Этот этап сортировки классически применяют в информатике для сокращения времени вычисления, применяя его локально к меньшей подгруппе (в данном случае только элементы О могут иметь проекцию в К).
II. Строят совокупность Ό- точек изображения Ό-1 на основании совокупности Ό+ точек Ό+1, имеющих проекцию по Р, по которым необходимо индивидуально знать, следует ли их выбирать для изготовления изделия, в соответствии с специальным правилом изготовления изделия, предполагающим одновременное присутствие в объекте О' рассматриваемой точки Ό+1 и производной точки (или изображения) Ό-1 (как правило, путем переноса каждой Ό+1 по глубине полимеризации, как было описано выше). Ό обозначает совокупность, состоящую из производных точек (или изображений) Ό-1 каждой из точек Ό+1 совокупности Ό+.
III. Для любого элемента Ό+1, принадлежащего к Ό+, т.е. для каждой рабочей точки Ό+1, для которой необходимо определить, находится она внутри или снаружи объекта О', вычисляют или определяют линию Р)Р(Э',).р!. проходящую через рабочую точку Ό+1, и Р (Ό+φν криволинейную координату рабочей точки Ό+1 вдоль Р{Р(И+1).р}.
IV. С любой рабочей точкой Ό+1, для которой необходимо определить, находится она внутри или снаружи объекта О', и, следовательно, с любой линией Р{Р(И+1).р} связывают счетчик, обозначаемый Р(Р+;).с, выделенный только для этой рабочей точки Ό+1. Значение этого счетчика инициализируют на 0.
V. Для любой точки изображения Ό-1, принадлежащей к Ό-, вычисляют или определяют линию Р{Р(И-1).р}, проходящую через производную точку Э-, или изображение И+1, предпочтительно совпадающую с линией Р{Р( И+1).р}, и Ρ(Ό+1).ν криволинейную координату точки Ό-1 вдоль Р{Р(И-1).р}.
VI. С любой Ό-1 и, следовательно, с любой линией Р{Р(И-1).р} связывают счетчик, обозначаемый Р(И-1).с, выделенный только для этой производной точки или изображения Ό-1. Значение этого счетчика инициализируют на 0.
VII. Для любого элемента 8·,, принадлежащего к О', отмечают его нормаль Ν, и создают две такие новые подгруппы 0+ и О-, в которых 0+ содержит все 8, от О', скалярное произведение которых Ν,.Ν является положительным или нулевым, а О- содержит все остальные. Иначе говоря, элементарные поверхности делят на две отдельные группы, группу 0+ поверхностей 8+; входа в объект О' и группу О- поверхностей 8-1 выхода из объекта О', при этом вход в объект О' и выход из него определяют относительно
- 12 030014
направления перемещения 32.
VIII. После этого на каждой из элементарных поверхностей 8_) итерируют следующие операции.
ί) Для любого элемента 8^ принадлежащего к О+, т.е. если поверхность 8_ί является поверхностью входа 8/, и для любой Ό+1, принадлежащей к Ό'. выявляют и вычисляют пересечение между этой элементарной поверхностью 8+1 и линией Ρ{Ρ(Ό+1 ).р}, проходящей через рабочую точку Ό+1. Кроме того, если это пересечение I существует и если Ρ(Ι).ν>Ρ(Ό+1).ν, счетчик Р(Э', ).с изменяют в соответствии с изменением прохождения через поверхность (как правило, Р(О+1).с инкрементируют на одну единицу).
и) Для любого элемента 8^ принадлежащего к О-, т.е. если поверхность 8_ί является поверхностью выхода 8-1, и для любой Ό-1, принадлежащей к Ό-, выявляют и вычисляют пересечение между этой элементарной поверхностью 8\ и линией Ρ{Ρ(Ό-1).ρ}, проходящей через точку изображения Ό-1. Кроме того, если это пересечение I существует и если Ρφ.ν^φ’Ο.ν, счетчик Р(О-1).с изменяют в соответствии с изменением прохождения через поверхность (как правило, Рф'^.с инкрементируют на 1).
IX. По каждой рабочей точке Ό+ определяют, находится эта рабочая точка Ό+ внутри или снаружи объекта О', в зависимости от счетчика, выделенного для рабочей точки Ό+1, и от счетчика, выделенного для изображения Ό-1 рабочей точки. В частности, для каждой рабочей точки Ό+1 определяют, находится эта рабочая точка Ό+1 внутри или снаружи объекта О', путем сравнения счетчика, выделенного для рабочей точки Ό+1, и счетчика, выделенного для изображения Ό-1 рабочей точки. Выбирают точки Ό+1, удовлетворяющие условию "Ρ(Ό+1 ).с>Р(О-1).с", как рабочие точки, находящиеся внутри объекта О', другие точки Ό+1 (для которых Р(О+1).с<Р(П-1).с) как рабочие точки, находящиеся снаружи объекта О'.
Подробный пример (фиг. 6).
На фиг. 6 в разрезе показано, как можно применить этот усовершенствованный способ в соответствии с изобретением, чтобы полимеризовать точку Ό+1, только если Ό+1 и соответствующая ей Ό-1 находятся в материале. В этом примере заявленный способ содержит следующие этапы.
1. Инициализация всех Рф+;).с на 0.
2. Вычисление всех Ρ(ϋ+;).ν.
3. Инициализация всех Ρ(ϋ\)χ на 0.
4. Вычисление всех Р( Ό';).ν.
5. Обработка 8+1.
a. Обработка Ό+1.
ί. РД+ДЮР^+Да, следовательно Р( И+1).с увеличивают на 1.
b. Обработка Ό+2.
ί. Р(Т+2)/у>Р(В+2)^, следовательно Р (И+2).с увеличивают на 1.
c. Обработка Ό+3.
ί. Р (ГзХ^Рф+зЮ, следовательно Р(Э'3).с остается без изменения.
6. Обработка 8-1.
a. Обработка Ό’1.
ί. Ρ(Γι).ν<Ρ(Ό-ι).ν, следовательно Р(Э-Д.с не меняется.
b. Обработка Ό-2.
ί. Нет пересечения между 8-ι и Р{Р(О-2).р}.
c. Обработка Ό-3.
ί. Нет пересечения между 8-ι и Р{Р{О-3).р}.
7. Обработка 8-1.
a. Обработка Ό’1.
ί. Нет пересечения между 8-2 и Р{Р(О-!).р}.
b. Обработка Ό-2.
ί. Р(Г2 ).ν>Ρ(Ό-2).ν, следовательно Р(Э-2).с увеличивают на 1.
c. Обработка Ό-3.
ί. Р (Γ3).ν<Ρ(Ό-3).ν, следовательно Р(Э-3).с не меняется.
В конце исполнения получаем
(Р(0+1).с=0+1=1)>(Р(0-1).с=0),
следовательно Όι выбирают как находящуюся внутри объекта О.
(Р(0+2).с=0+1=1)={Р{0-2).с=0+1=1),
следовательно Ό2 не выбирают как находящуюся внутри объекта О.
(Р(0+з).с=0)=(Р(0-з).с=0),
следовательно Ό3 не выбирают как находящуюся внутри объекта О.
Разумеется, изобретение не ограничивается описанными примерами, и в эти примеры можно вносить различные изменения, не выходя за рамки изобретения.
- 13 030014

Claims (19)

  1. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ изготовления трехмерного изделия наращиванием слоев, при этом несколько последовательно наложенных слоев или срезов выполняют для изготовления трехмерного изделия, согласно которому
    определяют, находятся ли точки (11; 30) конечного пространства внутри или снаружи объекта (14; 6), разложенного на элементарные поверхности (15), при этом упомянутый объект соответствует изготавливаемому изделию, или части, или слою, или срезу изготавливаемого изделия,
    отличающийся тем, что для каждой рабочей точки (11, 30), для которой необходимо определить, находится ли она внутри или снаружи объекта, способ включает в себя этапы, на которых
    определяют по меньшей мере одну линию (12), проходящую через эту рабочую точку (11; 30), с которой связан счетчик, предназначенный только для этой рабочей точки, причем линия соответствует совокупности точек пространства, имеющей в качестве проекции одну и ту же точку, и
    на каждой из элементарных поверхностей осуществляют итерацию следующих операций:
    поиск пересечения между элементарной поверхностью (15) и линией (12), проходящей через рабочую точку (11; 30),
    изменение значения счетчика, если пересечение существует, и
    определяют, находится ли рабочая точка внутри или снаружи объекта в зависимости от значения счетчика, выделенного только для рабочей точки (11; 30),
    при этом каждый из вышеуказанных этапов осуществляют при помощи, по меньшей мере, компьютера, центрального или вычислительного блока, аналоговой электронной схемы, цифровой электронной схемы, микропроцессора и/или программных средств.
  2. 2. Способ по п.1, отличающийся тем, что линия проходит через начало и изменение счетчика содержит:
    если пересечение находится за пределами рабочей точки по отношению к началу линии, счетчик не изменяют, и
    если пересечение находится не за пределами рабочей точки по отношению к началу линии, счетчик изменяют по-разному в зависимости от того, соответствует пересечение линии входу линии в объект или выходу линии из объекта по отношению к началу.
  3. 3. Способ по п.1, дополнительно включающий в себя определение линии, проходящей через изображение рабочей точки, с которым связан счетчик, выделенный только для этого изображения рабочей точки, упомянутое изображение рабочей точки является изображением, полученным от рабочей точки посредством переноса упомянутой рабочей точки по глубине полимеризации,
    способ дополнительно содержит разделение элементарных поверхностей на две разные группы: группу поверхностей входа в объект и группу поверхностей выхода из объекта по отношению к направлению перемещения,
    итерация включает в себя на каждой из элементарных поверхностей итерацию следующих операций:
    если поверхность является поверхностью входа, - поиск пересечения между этой элементарной поверхностью и линией, проходящей через рабочую точку, и изменение счетчика, связанного с рабочей точкой, если пересечение существует,
    если поверхность является поверхностью выхода, - поиск пересечения между этой элементарной поверхностью и линией, проходящей через изображение рабочей точки, и изменение счетчика, связанного с изображением рабочей точки, если пересечение существует,
    определение, находится ли рабочая точка внутри или снаружи объекта, включает в себя определение, находится ли рабочая точка внутри или снаружи объекта в зависимости от счетчика, выделенного для рабочей точки, и от счетчика, выделенного для изображения рабочей точки.
  4. 4. Способ по п.3, отличающийся тем, что определение, находится ли рабочая точка внутри или снаружи объекта в зависимости от счетчика, выделенного для рабочей точки, и от счетчика, выделенного для изображения рабочей точки, включает в себя сравнение счетчика, выделенного для рабочей точки, и счетчика, выделенного для изображения рабочей точки.
  5. 5. Способ по п.3 или 4, отличающийся тем, что для совокупности рабочих точек и изображений рабочих точек линии, проходящие через эти точки, являются параллельными.
  6. 6. Способ по любому из пп.1-4, отличающийся тем, что для совокупности рабочих точек и изображений рабочих точек линии, проходящие через эти точки, не являются параллельными.
  7. 7. Способ по любому из предыдущих пунктов, отличающийся тем, что для совокупности рабочих точек и изображений рабочих точек линии, проходящие через эти точки, не пересекаются внутри конечного пространства.
  8. 8. Способ по любому из предыдущих пунктов, отличающийся тем, что пространство является трехмерным пространством.
  9. 9. Способ по п.8, отличающийся тем, что рабочие точки (11) сгруппированы в рабочей поверхности
    - 14 030014
    (36), и тем, что каждая линия (12), проходящая через рабочую точку, и каждая линия, проходящая через изображение рабочей точки, является поперечной к этой рабочей поверхности (36) через эту рабочую точку (11).
  10. 10. Способ по п.9, отличающийся тем, что рабочая поверхность (36) соответствует слою или по меньшей мере части слоя, наносимого для изготовления изделия посредством быстрого прототипирования.
  11. 11. Способ по любому из пп.1-7, отличающийся тем, что пространство является двухмерным пространством.
  12. 12. Способ по любому из предыдущих пунктов, отличающийся тем, что этап итерации осуществляют параллельно во времени для нескольких элементарных поверхностей.
  13. 13. Способ по любому из предыдущих пунктов, отличающийся тем, что по меньшей мере для одной элементарной поверхности этап итерации осуществляют параллельно во времени для нескольких рабочих точек.
  14. 14. Способ по любому из пп.12 или 13, отличающийся тем, что осуществляемые параллельно этапы итерации синхронизируют по фиксированной продолжительности выполнения.
  15. 15. Способ по любому из предыдущих пунктов, отличающийся тем, что после определения, какая точка пространства находится внутри или снаружи объекта, он дополнительно включает в себя изготовление изделия.
  16. 16. Устройство для изготовления изделия, в котором применяют способ по любому из предыдущих пунктов, содержащее средства для определения, находятся ли точки конечного пространства внутри или снаружи объекта, разбитого на элементарные поверхности, при этом упомянутый объект соответствует изготавливаемому изделию или части или слою или срезу изготавливаемого изделия,
    отличающееся тем, что для каждой рабочей точки, для которой необходимо определить, находится ли она внутри или снаружи объекта, устройство содержит
    средства для определения линии, проходящей через эту рабочую точку, с которой связан счетчик, выделенный только для этой рабочей точки, и
    средства для итерации на каждой из элементарных поверхностей следующих операций:
    поиск пересечения между элементарной поверхностью и линией, проходящей через рабочую точку,
    изменение значения счетчика, если пересечение существует, и
    средства для определения, находится ли рабочая точка внутри или снаружи объекта в зависимости от значения счетчика, выделенного только для рабочей точки, причем линия соответствует совокупности точек пространства, имеющей в качестве проекции одну и ту же точку,
    при этом вышеупомянутые средства включают в себя по меньшей мере один компьютер, один центральный или вычислительный блок, одну аналоговую электронную схему, одну цифровую электронную схему, один микропроцессор и/или программные средства.
  17. 17. Устройство по п.16, в котором для каждой рабочей точки, для которой необходимо определить, находится ли она внутри или снаружи объекта, устройство содержит
    средство для определения линии, проходящей через изображение рабочей точки, с которым связан счетчик, выделенный только для этого изображения рабочей точки, упомянутое изображение рабочей точки является изображением, полученным от рабочей точки посредством переноса упомянутой рабочей точки по глубине полимеризации, и
    средство для итерации на каждой из элементарных поверхностей следующих операций:
    поиск пересечения между этой элементарной поверхностью и линией, проходящей через изображение рабочей точки,
    изменение счетчика, если пересечение существует, и
    средство для определения, находится ли рабочая точка внутри или снаружи объекта в зависимости от счетчика, выделенного для рабочей точки, и от счетчика, выделенного для изображения рабочей точки,
    каждое из предыдущих средств содержит по меньшей мере один компьютер, один центральный или вычислительный блок, одну аналоговую электронную схему, одну цифровую электронную схему, один микропроцессор и/или программные средства.
  18. 18. Устройство по одному из пп.16 или 17, отличающееся тем, что оно содержит средства изготовления изделия после определения, какая точка пространства находится внутри или снаружи объекта.
  19. 19. Изделие, полученное при помощи способа изготовления по любому из пп.1-15 или при помощи устройства изготовления по пп.16-18.
    - 15 030014
EA201390556A 2010-10-15 2011-10-14 Способ изготовления трехмерного изделия наращиванием слоев и устройство для выполнения этого способа EA030014B1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1058412A FR2966266B1 (fr) 2010-10-15 2010-10-15 Procede et dispositif de prototypage rapide.
PCT/FR2011/052407 WO2012049434A1 (fr) 2010-10-15 2011-10-14 Procede et dispositif de prototypage rapide

Publications (2)

Publication Number Publication Date
EA201390556A1 EA201390556A1 (ru) 2013-09-30
EA030014B1 true EA030014B1 (ru) 2018-06-29

Family

ID=44275070

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201390556A EA030014B1 (ru) 2010-10-15 2011-10-14 Способ изготовления трехмерного изделия наращиванием слоев и устройство для выполнения этого способа

Country Status (12)

Country Link
US (1) US10061869B2 (ru)
EP (1) EP2628102B1 (ru)
KR (1) KR101821844B1 (ru)
CN (1) CN103229176B (ru)
BR (1) BR112013008680A2 (ru)
CA (1) CA2813924C (ru)
EA (1) EA030014B1 (ru)
FR (1) FR2966266B1 (ru)
IL (1) IL225551A (ru)
MX (1) MX2013003874A (ru)
SG (1) SG189358A1 (ru)
WO (1) WO2012049434A1 (ru)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111283196B (zh) * 2020-03-05 2021-10-08 华中科技大学 铁基陶瓷复合材料薄壁回转体构件及其激光增材制造方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188369A1 (en) * 2001-05-03 2002-12-12 Guertin Michelle D. Automatic determination and selection of build parameters for solid freeform fabrication techniques based on automatic part feature recognition

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE375097T1 (de) * 1988-04-18 1996-02-29 3D Systems Inc Profilierung eines Strahlungsbündels für Stereolithographie.
WO1992008200A1 (en) 1990-10-30 1992-05-14 3D Systems, Inc. Layer comparison techniques in stereolithography
AU684546B2 (en) 1993-09-10 1997-12-18 University Of Queensland, The Stereolithographic anatomical modelling process
US5943235A (en) 1995-09-27 1999-08-24 3D Systems, Inc. Rapid prototyping system and method with support region data processing
WO2003016031A1 (en) * 2001-08-16 2003-02-27 Riken Rapid prototyping method and device using v-cad data
CN1294542C (zh) * 2004-10-21 2007-01-10 上海交通大学 基于离散数据点直接快速原型制造方法
US20080315461A1 (en) * 2005-05-20 2008-12-25 Huntsman Advanced Materials( Switzerland) Gmbh Rapid Prototyping Apparatus and Method of Rapid Prototyping

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188369A1 (en) * 2001-05-03 2002-12-12 Guertin Michelle D. Automatic determination and selection of build parameters for solid freeform fabrication techniques based on automatic part feature recognition

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ERDIM, H. ; ILIES, H.T.: "Classifying points for sweeping solids", COMPUTER AIDED DESIGN., ELSEVIER PUBLISHERS BV., BARKING., GB, vol. 40, no. 9, 1 September 2008 (2008-09-01), GB, pages 987 - 998, XP025434467, ISSN: 0010-4485, DOI: 10.1016/j.cad.2008.07.005 *

Also Published As

Publication number Publication date
IL225551A (en) 2017-10-31
SG189358A1 (en) 2013-05-31
IL225551A0 (en) 2013-06-27
US10061869B2 (en) 2018-08-28
WO2012049434A1 (fr) 2012-04-19
EA201390556A1 (ru) 2013-09-30
KR20130133774A (ko) 2013-12-09
FR2966266A1 (fr) 2012-04-20
CN103229176A (zh) 2013-07-31
US20130190911A1 (en) 2013-07-25
MX2013003874A (es) 2013-10-01
BR112013008680A2 (pt) 2016-06-21
CA2813924C (fr) 2020-03-24
EP2628102A1 (fr) 2013-08-21
CA2813924A1 (fr) 2012-04-19
FR2966266B1 (fr) 2016-01-22
EP2628102B1 (fr) 2023-02-15
KR101821844B1 (ko) 2018-01-24
CN103229176B (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
JP5746529B2 (ja) 三次元距離計測装置、三次元距離計測方法、およびプログラム
US20160110913A1 (en) 3d registration of a plurality of 3d models
CN100443854C (zh) 三维扫描系统中基于格雷码的相位展开方法
CN109671155B (zh) 基于点云数据的表面网格重建方法、系统及设备
Zhao et al. Fast ray-tracing technique to calculate line integral paths in voxel arrays
CN106688017B (zh) 生成点云地图的方法、计算机系统和装置
CN113681898A (zh) 三维物体打印方法、数据处理装置及计算机设备
CN103761749A (zh) 一种基于非线性多重网格法的光流场快速估计方法
KR0180253B1 (ko) 도형 묘화 장치 및 도형 묘화 방법
Tubic et al. A volumetric approach for interactive 3D modeling
EA030014B1 (ru) Способ изготовления трехмерного изделия наращиванием слоев и устройство для выполнения этого способа
US11763524B2 (en) Layered meshing for additive manufacturing simulations
Chen et al. Half-space power diagrams and discrete surface offsets
CN104239874A (zh) 一种器官血管识别方法及装置
Yau et al. A region-growing algorithm using parallel computing for surface reconstruction from unorganized points
Tremel et al. Automatic unstructured surface mesh generation for complex configurations
EP3779878A1 (en) Method and device for combining a texture with an artificial object
US20120313941A1 (en) System and method for digital volume processing
KR20230036322A (ko) 신속 시제품 제작 공정 및 장치
CN116152389B (zh) 一种用于纹理贴图的视角选择和纹理对齐方法及相关设备
US11372687B1 (en) Geo-spatial workload scheduling in distributed systems
Krishnan et al. Interactive boundary computation of boolean combinations of sculptured solids
KR102641460B1 (ko) 그림자 투영법을 이용한 3d 프린팅의 지지체 예측방법
US20240242419A1 (en) Method of creating a volumetric texture for a 3d model of a physical object
Ruan et al. Parallelized Topological Relaxation Algorithm

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM AZ BY KZ KG MD TJ TM