СИСТЕМА И СПОСОБ ИДЕНТИФИКАЦИИ КЛОНОВ
SYSTEM AND METHOD OF IDENTIFYING CLONES

Настоящее раскрытие относится к общей области систем компьютерного проектирования, разработки (ʺCADʺ), производства (ʺCAMʺ) и визуализации (индивидуально и совместно ʺсистем CADʺ), систем управления жизненным циклом продукта (ʺPLMʺ) и аналогичных систем, которые управляют данными для продуктов и других предметов (совместно, систем ʺуправления данными о продуктахʺ или систем PDM).
Системы PDM управляют PLM и другими данными. Желательны усовершенствованные способы и системы.
В соответствии с первым аспектом настоящего изобретения, способ идентификации геометрических клонов в системе моделирования содержит выбор шаблона геометрической формы и генерацию и сохранение карты шаблона; идентификацию геометрической формы-кандидата в системе; исследование идентифицированной геометрической формы-кандидата от начальной точки до возвращения к начальной точке или достижения ветви; генерацию карты исследуемой геометрической формы-кандидата; сравнение карты исследуемой геометрической формы-кандидата с картой шаблона; и маркировку геометрической формы-кандидата как клона, если она соответствует предопределенной части шаблона.
Способ может дополнительно содержать, если сравнение превышает диапазон допуска, завершение исследования, или если сравнение попадает в диапазон допуска, сохранение карты и маркировку геометрической формы-кандидата как клона.
Способ может дополнительно содержать, если исследование достигает ветви, реверсирование направления, возвращение через начальную точку и продолжение до достижения начальной точки или ветви в обратном направлении.
Способ может дополнительно содержать проверку ветвей и повторение этапов исследования и сравнения для каждой ветви.
Способ может дополнительно содержать ассоциирование маркированных клонов в группах и обработку маркированных клонов в их группах.
Способ может дополнительно содержать идентификацию геометрических форм, которые являются инверсией или зеркальным отображением шаблона, или которые совместно используют симметрию с шаблоном или которые масштабированы относительно шаблона, и маркировку их как геометрических клонов.
Способ может требовать точного совпадения на некоторых или всех граничных ребрах.
Способ может содержать проверку внутренних поверхностей (граней) обработки по типу или параметрам.
Шаблон может представлять грани или ребра моделируемого компонента продукта.
В соответствии со вторым аспектом настоящего изобретения, способ идентификации геометрических клонов в системе моделирования содержит выбор шаблона, представляющего образец; поиск кандидатов, совпадающих по меньшей мере с предопределенной частью шаблона; и маркировку тех кандидатов, которые совпадают по меньшей мере с предопределенной частью шаблона, как геометрических клонов.
В соответствии с третьим аспектом настоящего изобретения, способ имитации модификаций в конструкции многокомпонентного продукта содержит моделирование продукта с использованием модели; выбор одного компонента многокомпонентного продукта; определение геометрических форм, содержащих геометрические клоны или инвертированные геометрические клоны выбранного компонента в модели; маркировку идентифицированных клонов; применение модификации к компоненту и к маркированным геометрическим клонам и обеспечение представления модифицированного продукта.
Идентификация может содержать выбор шаблона, представляющего выбранный компонент; генерацию и сохранение карты шаблона; идентификацию геометрической формы кандидата в продукте; исследование идентифицированной геометрической формы-кандидата от начальной точки до возвращения к начальной точке или достижения ветви; генерацию карты исследуемой геометрической формы-кандидата; сравнение карты исследуемой геометрической формы-кандидата с картой шаблона; если сравнение выходит за пределы диапазона допуска, завершение исследования, если сравнение попадает в диапазон допуска, сохранение карты и маркировку геометрической формы-кандидата как клона.
Способ может дополнительно содержать идентификацию геометрических форм, которые являются инверсией или зеркальным отображением шаблона, или которые совместно используют симметрию с шаблоном, или которые масштабированы относительно шаблона, и маркировку их как геометрических клонов.
Геометрическая форма-кандидат может содержать одно из грани или ребра или множества наборов связанных граней и ребер.
Способ может требовать точного совпадения на некоторых или всех из граничных ребер.
В соответствии с четвертым аспектом настоящего изобретения, система обработки данных содержит по меньшей мере процессор и память с возможностью доступа для реализации способа идентификации геометрических клонов в модели, причем система сконфигурирована, чтобы визуализировать модель продукта, имеющего множество компонентов; получать шаблон, представляющий один из множества компонентов; использовать шаблон для идентификации геометрически подобных элементов в модели; маркировать идентифицированные элементы как геометрические клоны; применять общую обработку для модифицирования элемента и его геометрических клонов и визуализировать модифицированную модель продукта.
Система может содержать хранилище или устройство отображения, сконфигурированный для вывода топологии продукта.
Система может быть сконфигурирована, чтобы идентифицировать геометрические клоны на основе кандидатов, имеющих геометрию, подобную геометрии компонента, или геометрию, инверсную геометрии компонента.
В соответствии с пятым аспектом настоящего изобретения, не-временный считываемый компьютером носитель закодирован исполняемыми инструкциями, которые, при исполнении, побуждают одну или несколько систем обработки данных выполнять способ идентификации геометрических клонов в системе моделирования, содержащий выбор шаблон геометрической формы и генерацию и сохранение карты шаблона; идентификацию геометрической формы-кандидата в системе; исследование идентифицированной геометрической формы-кандидата от начальной точки до возвращения к начальной точке или достижения ветви; генерацию карты исследуемой геометрической формы-кандидата; сравнение карты исследуемой геометрической формы-кандидата с картой шаблона; и маркировку геометрической формы-кандидата как клона, если она совпадает с предопределенной частью шаблона.
В соответствии с шестым аспектом настоящего изобретения, не-временный считываемый компьютером носитель закодирован исполняемыми инструкциями, которые, при исполнении, побуждают одну или несколько систем обработки данных выполнять способ имитации модификаций в конструкции многокомпонентного продукта, содержащий моделирование продукта с использованием модели; выбор одного компонента многокомпонентного продукта; идентификацию геометрических форм, содержащих геометрические клоны или инвертированные геометрические клоны выбранного компонента в модели; маркировку идентифицированных клонов; применение модификации к компоненту и маркированным геометрическим клонам и обеспечение представления модифицированного продукта.
Вышеизложенное достаточно широко описывает признаки и технические преимущества настоящего раскрытия, так что специалисты в данной области техники могут лучше понять последующее подробное описание. Дополнительные признаки и преимущества раскрытия, которые будут описаны ниже, образуют предмет формулы изобретения. Специалистам в данной области техники должно быть понятно, что они могут легко использовать концепцию и конкретный раскрытый вариант осуществления в качестве основы для модификации или проектирования других структур для выполнения тех же целей настоящего раскрытия. Специалистам в данной области техники также должно быть понятно, что такие эквивалентные конструкции не выходят за пределы объема раскрытия в его самой широкой форме.
Прежде чем приступить к подробному описанию ниже, может быть полезным изложить определения некоторых слов или фраз, используемых в этом патентном документе: термины ʺвключатьʺ и ʺсодержатьʺ, а также их производные означают включение без ограничения; термин ʺилиʺ является инклюзивным, означающим и/или; и термин ʺконтроллерʺ означает любое устройство, систему или их часть, которая управляет по меньшей мере одной операцией, независимо от того, реализовано ли такое устройство в аппаратных средствах, встроенном программном обеспечении, программном обеспечении или некоторой комбинации по меньшей мере двух из них. Следует отметить, что функциональность, ассоциированная с каким-либо конкретным контроллером, может быть централизованной или распределенной как локально, так и удаленно. Определения для некоторых слов и фраз приведены по всему настоящему патентному документу, и специалистам в данной области техники должно быть понятно, что такие определения применимы во многих, если не в большинстве случаев, предшествующих, а также будущих использованиях определенных таким образом слов и фраз. Хотя некоторые термины могут включать в себя широкий спектр вариантов осуществления, прилагаемая формула изобретения может прямо ограничивать эти термины конкретными вариантами осуществления.
Пример способа и системы обработки данных в соответствии с настоящим раскрытием описан ниже со ссылкой на прилагаемые чертежи, на которых представлено следующее:
Фиг. 1 - блок-схема системы обработки данных, в которой может быть реализован вариант осуществления;
Фиг. 2 - блок-схема последовательности операций процесса в соответствии с раскрытыми вариантами осуществления;
Фиг. 3 иллюстрирует пример образца, из которого изготовлен шаблон, и потенциального клона в соответствии с раскрытыми вариантами осуществления;
Фиг. 4 обеспечивает детализацию варианта осуществления согласно фиг. 3;
Фиг. 5 обеспечивает детализацию варианта осуществления согласно фиг. 3;
Фиг. 6 иллюстрирует дополнительную детализацию в соответствии с раскрытыми вариантами осуществления;
Фиг. 7а и 7b иллюстрируют другой образец и клон в соответствии с раскрытыми вариантами осуществления;
Фиг. 8а и 8b иллюстрируют другой образец и клон в соответствии с раскрытыми вариантами осуществления;
Фиг. 9 обеспечивает дополнительную детализацию в соответствии с раскрытыми вариантами осуществления;
Фиг. 10 иллюстрирует пример применения детерминированного сопоставления в примерном способе в соответствии с раскрытыми вариантами осуществления;
Фиг. 11 и 12 иллюстрируют пример влияния различий в количествах ребер в примерном способе в соответствии с раскрытыми вариантами осуществления;
Фиг. 13 иллюстрирует эффект многоконтурного сопоставления в соответствии с раскрытыми вариантами осуществления;
Фиг. 14a, 14b и 14c иллюстрируют эффект многоконтурного ветвления в соответствии с раскрытыми вариантами осуществления;
Фиг. 15а, 15b и 15с обеспечивают дополнительную детализацию варианта осуществления согласно фиг. 14а, 14b и 14с в соответствии с раскрытыми вариантами осуществления;
Фиг. 16a и 16b иллюстрируют влияние ветвления сегмента с множеством границ в соответствии с раскрытыми вариантами осуществления;
Фиг. 17 иллюстрирует влияние зависимости от варианта осуществления, показанного на фиг. 16а и 16b, в соответствии с раскрытыми вариантами осуществления;
Фиг. 18а и 18b иллюстрируют комбинированное отображение в соответствии с раскрытыми вариантами осуществления; и
Фиг. 19a, 19b и 19c иллюстрируют влияние признаков, которые генерируют циклические графы в соответствии с раскрытыми вариантами осуществления.
Варианты осуществления, показанные на фиг. 1-19, использованные для описания принципов настоящего раскрытия в этом документе, являются только иллюстрацией и никоим образом не должны истолковываться, чтобы ограничивать объем раскрытия. Специалистам в данной области техники должно быть понятно, что принципы настоящего раскрытия могут быть реализованы в любом подходящем устройстве.
В системах CAD, пользователю может потребоваться смоделировать проект для объекта, выполнить тесты для определения поведения этого объекта и модифицировать проект в ответ на результат тестов. На определенных этапах процесса проектирования, пользователю может потребоваться внести изменения, а затем вернуться к оригиналу, если результат не соответствует ожидаемому, или последовательно испытать ряд различных изменений, чтобы определить, какое из них будет использоваться. Однако пользователю нежелательны действия с большими задержками. Некоторые процессы могут выполняться индивидуально на элементах проекта, которые геометрически подобны, приводя к бесполезным затратам времени и вычислительной мощности. Однако идентификация таких элементов проекта вручную является сложной и трудоемкой и в некоторых случаях непрактичной для выполнения.
Прямое моделирование или вариационное прямое моделирование могут использоваться в любом случае, когда объект или изделие представлены в виде твердого тела, включая детали машин, транспортные средства, установки оборудования, макеты зданий, инженерные сооружения или химические структуры, но раскрытие не ограничивается этими применениями. Трехмерная модель позволяет определить массу или вес деталей и взаимодействие с другими компонентами в других системах. Система вариационного прямого моделирования описывает параметры и отношения между признаками в модели объекта с точки зрения геометрических ограничений и размеров. Такие системы затем используют процесс решающего устройства (решателя) для обработки этих ограничений и размеров, вместе с множеством дополнительных ограничений и размеров, необходимых для поддержания намерений проектирования, и вся модель решается одновременно.
Настоящее раскрытие описывает, как определять геометрически подобные элементы и ассоциировать их таким образом, чтобы их можно было обрабатывать аналогичным образом с точки зрения обработки, причем каждый отдельный элемент должен обрабатываться индивидуально. Способ автоматически и быстро определяет, существует или нет элемент, который геометрически подобен данному шаблону, в заданном окружении. Для целей этого описания такой геометрически подобный элемент будет называться геометрическим клоном. Операции более эффективны, когда аналогичные геометрические формы могут быть идентифицированы и, таким образом, ведут себя одинаково, или могут группироваться и обрабатываться вместе.
В сложном объекте, таком как электрическая машина, или транспортное средство или самолет, может иметься множество экземпляров деталей (компонентов), имеющих аналогичную геометрию. При моделировании этого сложного объекта каждая отдельная деталь обрабатывается в соответствии с изменениями, которые конструктор хочет применить. Однако все эти изменения добавляют требования к вычислению и увеличивают время, необходимое, чтобы обновленная модель могла быть визуализирована, после чего конструктору может потребоваться применить дополнительные тесты для определения действительности своей стратегии проектирования. Выгодным является сокращение времени, которое требуется для этого. Это достигается путем идентификации геометрических клонов и их маркировки, так что на этапе обработки изменения проекта могут быть применены к указанному элементу или части шаблона, и после того, как изменение было применено, полученный результат затем копируется ко всем клонам шаблона, которые были идентифицированы.
Фиг. 1 иллюстрирует пример системы обработки данных, в которой может быть реализован вариант осуществления настоящего раскрытия, например, система САD, сконфигурированная для выполнения процессов, как описано в настоящем документе. Система 21 обработки данных содержит процессор 22, соединенный с локальной системной шиной 23. Локальная системная шина соединяет процессор с основной памятью 24 и графическим адаптером 25 устройства отображения, который может быть соединен с устройством 26 отображения. Система обработки данных может осуществлять связь с другими системами через беспроводной адаптер пользовательского интерфейса, соединенный с локальной системной шиной 23, или через проводную сеть, например, с локальной сетью. Дополнительная память 28 также может быть соединена через локальную системную шину. Подходящий адаптер, такой как беспроводной адаптер 27 пользовательского интерфейса, для других периферийных устройств, таких как клавиатура 29 и мышь 20 или другое указательное устройство, позволяет пользователю обеспечивать ввод в систему обработки данных. Другие периферийные устройства могут включать в себя один или несколько контроллеров ввода-вывода (I/O), таких как USB-контроллеры, Bluetooth-контроллеры и/или специализированные аудио контроллеры (соединенные с динамиками и/или микрофонами). Следует также понимать, что к USB-контроллеру (через различные USB-порты) могут подключаться различные периферийные устройства, включая устройства ввода (например, клавиатура, мышь, сенсорный экран, трекбол, камера, микрофон, сканеры), устройства вывода (например, принтеры, динамики) или любое другое устройство, которое действует для обеспечения вводов или приема выводов из системы обработки данных. Кроме того, следует понимать, что многие устройства, называемые устройствами ввода или устройствами вывода, могут обеспечивать вводы и принимать выводы обмена данными с системой обработки данных. Кроме того, следует понимать, что другие периферийные аппаратные средства, соединенные с контроллерами I/O, могут включать в себя любой тип устройства, машины или компонента, который сконфигурирован, чтобы осуществлять связь с системой обработки данных.
ТМ
ТМ
ТМ
ТМ
ТМ
Операционная система, включенная в систему обработки данных, обеспечивает возможность отображения пользователю вывода из системы на устройстве 26 отображения и взаимодействия пользователя с системой. Примеры операционных систем, которые могут использоваться в системе обработки данных, могут включать в себя операционные системы Microsoft Windows, Linux, UNIX, iOS и Android.
Кроме того, следует понимать, что система 21 обработки данных может быть реализована в сетевой среде, распределенной системной среде, виртуальных машинах в архитектуре виртуальных машин и/или в облачной среде. Например, процессор 22 и ассоциированные компоненты могут соответствовать виртуальной машине, исполняющейся в среде виртуальных машин одного или нескольких серверов. Примеры архитектур виртуальных машин включают в себя VMware ESCi, Microsoft Hyper-V, Xen и KVM.
Специалистам в данной области техники должно быть понятно, что аппаратные средства, изображенные для системы 21 обработки данных, могут варьироваться для конкретных реализаций. Например, система 21 обработки данных в этом примере может соответствовать компьютеру, рабочей станции и/или серверу. Однако следует понимать, что альтернативные варианты осуществления системы обработки данных могут быть сконфигурированы с соответствующими или альтернативными компонентами, например, в форме мобильного телефона, планшета, платы контроллера или любой другой системы, которая действует для обработки данных и выполнения функциональности и признаков, описанных в настоящем документе, ассоциированных с работой системы обработки данных, компьютера, процессора и/или контроллера, обсуждаемых здесь. Представленный пример обеспечен только для целей объяснения и не подразумевает архитектурных ограничений в отношении настоящего раскрытия.
Система 21 обработки данных может быть соединена с сетью (не являющейся частью системы 21 обработки данных), которая может быть любой общедоступной или частной сетью системы обработки данных или комбинацией сетей, как известно специалистам в данной области техники, включая Интернет. Система 21 обработки данных может осуществлять связь по сети с одной или несколькими другими системами обработки данных, такими как сервер (также не является частью системы 21 обработки данных). Однако альтернативная система обработки данных может соответствовать множеству систем обработки данных, реализованных как часть распределенной системы, в которой процессоры, ассоциированные с несколькими системами обработки данных, могут осуществлять связь посредством одного или нескольких сетевых соединений и могут совместно выполнять задачи, описанные как выполняемые одной системой обработки данных. Таким образом, следует понимать, что ссылка на систему обработки данных означает, что такая система может быть реализована на нескольких системах обработки данных, организованных в распределенной системе, осуществляющих связь друг с другом через сеть.
Фиг. 2 является блок-схемой последовательности операций базового способа, иллюстрирующей настоящее раскрытие. Первым этапом является выбор 140 шаблона для части (компонента) продукта, который моделируется, например, зуба шестерни, или гайки, или шайбы. Идентификация геометрических клонов наиболее полезна при рассмотрении компонентов, присутствующих в продукте во множестве экземпляров. После выбора шаблона, генерируется математическая карта граней компонента, 141, представленного шаблоном. Карта указывает каждую из граней или ребер, обнаруживаемых при последовательном исследовании граней или ребер шаблона. Карта для шаблона сохраняется для последующего использования. Геометрические формы-кандидаты, которые могут быть подобны шаблону, идентифицируются, 142, например, путем определения пар грани и ребра, которые соответствуют указанным начальным грани и ребру шаблона. В двумерном примере, шаблон может содержать ребра и вершины. В трехмерном примере, шаблон содержит ребра и грани.
Каждый идентифицированный кандидат исследуется, 143, и аналогичным образом генерируется карта для каждого кандидата, 144. В этом примере, исследование включает в себя следование границе начальной грани, проверку ребер и добавление новых граней по мере их обнаружения. Каждая карта сравнивается, 145, с картой для шаблона. Диапазон допуска, который был предварительно установлен, используется для определения того, находится ли карта кандидата в пределах диапазона допуска, что позволяет считать его геометрически сходным с шаблоном. Если результат попадает в диапазон допуска, то моделируемый компонент обозначается как геометрический клон. Если результат не попадает в допустимый диапазон, кандидат отбрасывается. Диапазон допуска может включать требование для совпадения конкретной части шаблона, или диапазон допуска может содержать минимальное количество совпадений шаблона и кандидата. Для компонентов, которые считаются геометрически подобными, проводится дополнительная проверка, чтобы установить, были ли обнаружены какие-либо ветви, и если да, то процесс исследования 143, отображения 144 и сравнения 145, 146 выполняется, 147, для каждой ветви. Более подробная информация о функционировании способа приведена ниже.
При заданном наборе граней шаблона, этот способ быстро идентифицирует геометрические клоны вместе с их отображениями граней и согласованными системами координат. Грани шаблона обычно соединены границей с окружением, а клоны являются строгими преобразованиями, за исключением границ, где они могут варьироваться. Здесь показан пример шаблона и клона вместе с отображением грани и согласованными системами координат. На фиг. 3 показан первый пример компонента A, из которого может формироваться шаблон и затем сравниваться с компонентом-кандидатом B, чтобы установить, может ли этот компонент B считаться геометрически подобным компоненту A. Компонент А образца имеет соединенный набор граней 1, 2, 3, 4, 5, и компонент-кандидат B потенциального клона имеет соединенный набор граней 6, 7, 8, 9. 10. Цель состоит в том, чтобы найти геометрические клоны, так что поверхности обработки на границе, такие как элементы сопряжения и фаски, игнорируются в базовом определении, поскольку они принимают разные геометрические формы в каждом случае. Это видно на фиг. 4. Грани в наборе, исключая любые обработки, могут упоминаться как 'шаблон', а поднабор тех, которые соседствуют с не относящимися к шаблону гранями, представляет собой граничные грани. Ребра между граничными гранями и не относящимися к шаблону гранями являются граничными ребрами и могут быть сгруппированы в соединенные наборы, называемые граничными областями. Грань 5 представляет собой неграничную грань, грани 4, 1, 2, 3 являются граничными гранями, а грани 11 игнорируются, поскольку они относятся к обработкам.
Процесс начинается с выбора начальных грани и ребра из набора. На фиг. 3, выбранная начальная грань маркирована как 5, и указаны оси z1, x1. Может быть выбрано ребро, например круговое ребро 30. Оси не должны обязательно соответствовать ребру. Начальная грань и начальное ребро, выбранные из шаблона, начинают процесс построения графа и сопоставления. Выбор начальной грани или начального ребра направлен на то, чтобы как можно раньше отклонить несоответствующих кандидатов и оптимизировать производительность. Например, круговое ребро 30 имеет свойство радиуса, которое может проверяться. Базовый выбор начальной грани для обеспечения хорошей производительности в самых разных ситуациях состоит в выборе на основе вероятной редкости самой грани в соответствии с набором быстро тестируемых локальных свойств, которые используются при первоначальном сравнении их с окружением. Это делается для того, чтобы, на более позднем этапе сопоставления, начальные локализации кандидата в окружении были минимальными.
Существуют различные свойства, которые можно использовать при выборе начальных грани и ребра, включая, без ограничения указанным, поиск неграничных граней и ребер, которые являются предпочтительными, поскольку вся их граница может использоваться при тестировании. Использование вместо этого граничных граней является более сложным. На фиг. 4 показаны примеры каждого из них. Показана одна неграничная грань 5, четыре граничные грани 4, 1, 2, 3 и ряд поверхностей 11 обработки. Другим свойством является тип геометрии, например, плоскости очень распространены и не имеют дополнительных свойств для быстрой проверки, тогда как торы (тороидальные поверхности) являются более редкими, а также имеют два радиуса, которые можно проверить очень быстро. Может использоваться свойство, такое как подсчет ребер или подсчет контуров; например, грань с большим количеством ребер является довольно редкой и служит лучшей основой для проверки, чем грань с четырьмя ребрами.
Ортонормированная система координат, состоящая из начала координат, направления Z и направления X, создается из граней шаблона, т.е. z1, x1 на фиг.3. Создается соответствующая система координат на заданном клоне-кандидате, иллюстрируемая как z2, x2 на фиг. 3, с заданным отображением на грани шаблона, как показано в таблице 1 ниже. Это позволяет вычислять преобразование и использовать его в окончательной точной геометрической проверке. Выбранное начало координат обычно является устойчивой точкой, например внутренней вершиной, центром геометрии или параметрической точкой на неаналитической геометрии. Направление Z может быть направлением внутреннего ребра, осевым направлением геометрии, нормалью к плоскости или направлением к другой устойчивой точке. Направление X должно быть ортогональным направлению Z, но может использовать аналогичные типы точек или направлений, как для начала координат в направлении Z, но проецироваться на плоскость Z.
Таблица 1
Образец
1
2
3
4
5
Клон
6
7
8
9
10
Топологический граф строится, чтобы включать в себя все грани, ребра и контуры шаблона, связанные с локальными свойствами, которые быстро проверяются при сопоставлении и потенциально включают в себя, без ограничения указанным: геометрический тип, геометрические параметры, такие как радиусы, половину угла и т.д., подсчет контуров, тип контура, подсчет ребер, длину ребра, общую длину ребра/хорды, угол заострения, выпуклость и т.д. Выбор свойств для включения может варьироваться, например, граничная грань не будет сравнивать отсчет ребер, поэтому выбирается динамически при построении графа. Порядок, в котором создаются свойства, также важен и может варьироваться между гранями. Например, может быть лучше сначала проверить количество ребер, если грань шаблона имеет большое их количество. Напротив, другая грань шаблона может иметь нетипичный тип геометрии, делая его первым свойством для выбора.
Способ может анализировать потенциальную вращательную симметрию шаблона, которая, помимо обеспечения полезной дополнительной выходной информации и превосходного выбора системы координат, также позволяет существенно оптимизировать последующий поиск. Чтобы определить потенциальную симметрию, шаблон полностью сопоставляется с самим собой с использованием процедуры быстрого сопоставления и с точной геометрической проверкой, как описано ниже. Способ может включать в себя этапы корректировки границы, выбора начальных грани и ребра, выбора системы координат, построения графа, анализа симметрий, сбора граней-кандидатов, поиска совпадений, в дополнение к процедуре быстрого сопоставления и точной геометрической проверки. В шаблоне выполняется поиск всех пар-кандидатов начальных граней и ребер, соответствующих локальным свойствам реальных начальных грани и ребра. Эта процедура быстрого сопоставления применяется к каждым из этих граней и ребер-кандидатов, и полное число совпадений используется для вывода любой вращательной симметрии шаблона и, возможно, улучшения выбора системы координат. Если имеется только одно совпадение, это обычно означает, что вращательная симметрия отсутствует.
Однако необходима дополнительная проверка, чтобы убедиться, существует ли осевая симметрия. Эта дополнительная проверка относится к общей оси. Единственное совпадение без общей оси означает отсутствие симметрии. Остается одно направление Х. Для общих, без вращения, шаблонов этого типа, система координат является произвольной, но в интересах последующих приложений могут применяться некоторые специальные случаи. Например, в примерном образце С, показанном на фиг. 5, ось Z выбирается как общее направление развертки граничных граней или направление поверхности 5.
Таблица 2
Образец
1
2
3
4
5
Само-сопоставление 1
1
2
3
4
5
Образец на фиг. 6 имеет пять граней (поверхностей) 31, 32, 33, 34, 35. Фиг. 6 и таблица 3 иллюстрируют единственное совпадение с общей осью 36, что означает осевую симметрию. В этом случае направление X является произвольным и, таким образом, не помогает обнаружению клонов и игнорируется. Количество направлений Х установлено в 0.
Таблица 3
Образец
31
32
33
34
35
Само-сопоставление 1
31
32
33
34
35
Фиг. 7a и 7b и таблица 4 иллюстрируют N совпадений, что означает N-кратную вращательную симметрию. На фиг. 7а показана начальная система координат и семь граней 41-47. Ось вращения может быть вычислена как общая ось вращения преобразований и угол поворота как 360/N. На фиг. 7b показана скорректированная система множества координат и само-отображения. Начало координат скорректировано путем проецирования на ось вращения, направление Z скорректировано как направление оси вращения, как можно видеть на фиг. 7b. N отображений сохраняются в шаблоне, и каждое требует направления X. Первое направление Х пересчитано, чтобы проходить через начало координат и быть перпендикулярным направлению Z, при этом оставшаяся степень свободы менее важна. Однако это может быть выбрано так, чтобы указывать на вершину или существенную точку. Другие N-1 направлений соответствуют последовательным поворотам первого.
Таблица 4
Образец
41
42
43
44
45
46
47
Само-сопоставление 1
41
42
43
44
45
46
47
x1
Само-сопоставление 2
42
43
44
45
46
41
47
x2
Само-сопоставление 3
43
44
44
46
41
42
47
x3
Само-сопоставление 4
44
45
46
41
42
43
47
x4
Само-сопоставление 5
45
46
41
42
43
44
47
x5
Само-сопоставление 6
46
41
42
43
44
45
47
x6
Проверка ошибок обеспечивается тем, что отсутствие совпадения на этапе быстрого сопоставления означает ошибку, так как шаблон должен совпадать сам с собой, по меньшей мере при том же выборе начальной грани и ребра. Грани из самого шаблона опускаются при сборе граней из результатов, но в окружении выполняется поиск 'списка кандидатов' пар граней и ребер, совпадающих с начальными гранью и ребром из шаблона в соответствии с сохраненными локальными свойствами быстрого сопоставления. Это представляет собой новый поиск во всем окружении, минус фактические начальные грань и ребро, для нахождения совпадений с начальными гранью и ребром. Для каждой пары грани и ребра, оставшейся в 'списке кандидатов', выполняется 'процедура быстрого сопоставления', приводящая к набору отображений граней. 'Точная проверка геометрии' выполняется, чтобы найти, какое из этих отображений геометрически корректно, и если найдено точное геометрическое совпадение, то формируется клон с отображением, возвращаемым из процедуры быстрого сопоставления, и системой координат и преобразованием, возвращаемыми из точной геометрической проверки.
Если шаблон имеет N-кратную симметрию, то из процедуры быстрого сопоставления будет возвращено только 1 из N возможных отображений. Это является преимуществом данного подхода, поскольку оставшиеся N-1 отображений теперь могут быть выведены из 1 найденного отображения и N само-отображений, найденных в шаблоне как часть проверки симметрии. Каждое из этих дополнительных отображений также приводит к дополнительному направлению X и преобразованию, которое также может быть вычислено. Грани найденного клона удаляются из списка кандидатов.
Точная геометрическая проверка используется в данном алгоритме для определения того, является ли отображение кандидата от граней шаблона на грани-кандидаты точным геометрическим совпадением, игнорируя граничные ребра. Система координат формируется из отображенных граней-кандидатов с использованием той же процедуры, что и для шаблона на соответствующих отображенных объектах в кандидате. Преобразование от шаблона к кандидату может теперь быть вычислено из системы координат для кандидата относительно таковой для шаблона.
Геометрия поверхности каждой грани-кандидата сравнивается с геометрией соответствующей грани шаблона с применяемым преобразованием. Все поверхности должны совпадать. Отметим, что эта проверка не включает ребра и поэтому не требует соблюдения точного совпадения на границе, что имеет место по мере надобности. Если этот тест не проходит, кандидат отклоняется.
Требование от алгоритма высокого уровня, процедуры быстрого сопоставления графа, состоит в том, что он быстро определяет, имеют ли начальные грань и ребро-кандидат по соседству грани, которые совпадают с шаблоном топологически, а также в соответствии с рядом быстрых локальных проверок свойств. Требование совпадения на границе является менее строгим, при этом требуется совпадение для числа граничных областей, но не для числа граничных ребер или их свойств. В примере на фиг. 8 и в таблице 5 показан образец S1 с гранями F1, F2, F3, F4, F5 и клон C1 с гранями F6, F7, F8, F9, F10. В этом случае можно ожидать совпадения, поскольку имеется одна граничная область, как в образце, так и клоне, несмотря на то, что количество ребер различно.
Таблица 5
Образец
F1
F2
F3
F4
F5
Клон
F6
F7
F8
F9
F10
Успешные совпадения могут приводить в результате к множеству отображений от граней шаблона на грани-кандидаты. Когда обнаруживается каждый элемент-кандидат (грань, ребро или контур), он проверяется на свойства, сохраненные в графе шаблона на этапе построения графа.
Когда обнаруживается каждая грань-кандидат, она добавляется к отображению, которое нарастает постепенно по мере продолжения сопоставления.
Связанная цепочка неграничных ребер называется 'внутренним сегментом', а связанная цепочка граничных ребер называется 'граничным сегментом'. Пример иллюстрируется на фиг. 9, показывающей внутренние сегменты 38 и внешние сегменты 39.
В качестве базового алгоритма сопоставления графа используется детерминированный обнаружитель совпадения (мэтчер). Его можно использовать для случаев, когда может быть построен уникальный путь через шаблон. Этот алгоритм начинается с грани шаблона и одного из его ребер вместе с аналогичной парой-кандидатом грани/ребра. Гипотеза состоит в том, что пара-кандидат грани/ребра являются частью успешного совпадения. Алгоритм использует ребра для идентификации смежных граней, которые формируют новое сопоставление кандидатов. Эти грани также могут быть добавлены в стек обработки для дальнейшего сравнения ребер. Затем способ проходит по контуру первой грани 50, как показано на фиг. 10, проверяя ребра и добавляя соответственно новые грани 51, 52, 53, 54 по мере надобности. Внутренние грани (то есть грани, которые связаны только с другими гранями шаблона) должны иметь корректное количество ребер. Следовательно, по мере того, как способ проходит по контурам шаблона и граням-кандидатам, контура должны корректным образом возвращаться к своим начальным точкам. Если нет, то кандидат считается несогласованным и отклоняется. Как только контур грани завершен, алгоритм переходит к следующей грани в стеке. Начальное ребро представляет собой то, которое было использовано для достижения грани. Это поддерживает обходы шаблона и кандидатов согласованными.
Граничные грани добавляют дополнительное усложнение к этому алгоритму, так как граничным сегментам, т.е. связанным цепочкам ребер на границе, разрешается изменяться. В одном варианте осуществления, примерный шаблон согласно фиг. 11 и потенциальный кандидат согласно фиг. 12, как ожидается, будут совпадать. Усложнение возникает из-за того, что граничный сегмент грани 60 в шаблоне имеет одно ребро 61, в то время как кандидат 62 имеет пять ребер 63 в этой точке. Очевидно, что прохождение по контуру приведет к несоответствиям из-за различного количества ребер. Чтобы избежать этой проблемы, алгоритм детерминированного сопоставления прекращает обход контура, когда он достигает граничного сегмента в шаблоне. Затем он возвращается к исходному ребру (ребру, через которое он переходит на грань) и продолжает обход в противоположном направлении.
Для многих шаблонов, где все внутренние ребра каждой грани соединены, можно достичь их детерминированным образом, так что детерминированное сопоставление является достаточным. Однако имеются две ситуации, когда не все внутренние ребра соединены и требуют разветвления алгоритма. Первая ситуация - когда грань имеет несколько контуров (ветвление с несколькими контурами), и вторая - когда имеется несколько граничных сегментов (разветвление с несколькими граничными сегментами). Для примера ветвления с несколькими контурами, алгоритм детерминированного сопоставления проходит по шаблону и проходит по кандидатам, обходя контура и переходя на новые грани. Однако если грань имеет несколько контуров, этот алгоритм должен иметь возможность перейти от одного контура к другому. Усложнение здесь состоит в том, что с топологической точки зрения невозможно узнать, на какое ребро во втором контуре следует перейти. Эта проблема проиллюстрирована в примерном шаблоне на фиг. 13 и в таблице 5 ниже. Начиная с грани 70, детерминированное сопоставление может выполняться последовательным и повторяемым образом для первых пяти граней 70, 71, 72, 73, 74. Однако грань 75 имеет два контура, второй из которых имеет четыре ребра. Поэтому для следующей части графа имеется четыре потенциальных начальных ребра. Алгоритм сопоставления должен тестировать все четыре возможности. Ввиду вращательной симметрии модели, все эти возможности приведут в результате к успешному отображению. Предполагая заданное начальное ребро, полученные в результате четыре отображения приведены в таблице ниже.
Таблица 6
Шаблон
Отображение 1
Отображение 2
Отображение 3
Отображение 4
70
70
70
70
70
71
71
71
71
71
72
72
72
72
72
73
73
73
73
73
74
74
74
74
74
75
75
75
75
75
76
76
77
78
79
77
77
78
79
76
78
78
79
76
77
79
79
76
77
78
При использовании в части проверки симметрии алгоритма, все четыре ребра вокруг грани 70 тестируются, давая, таким образом, шестнадцать приемлемых топологических отображений, затем это сокращается до четырех посредством точного геометрического тестирования для получения в результате четырех отображений в предположении четырехкратной симметрии. При этом знании о симметрии, второе использование этого сопоставления в рамках поиска клонов требует возврата только одного отображения, а другие действительные отображения выводятся, как описано выше. Несколько ветвей контуров легко найти, поскольку они определяются как любая грань в шаблоне, которая имеет более одного контура. Если встречается грань с несколькими контурами, то обнаружитель совпадения добавляет ʺследующийʺ контур как ветвь. ʺСледующийʺ контур произвольно выбирается как один из необработанных контуров шаблона, который используется как следующий для сравнения. Упорядочение ветвей контура может быть оптимизировано для повышения эффективности.
В случае ветвления с несколькими контурами с зависимостью, существует зависимость между контурами на одной и той же грани, поэтому только один из них будет выбран как ветвь после каждого детерминированного сопоставления. Пример согласно фиг. 14a-14c показывает, как сопоставление контуров на разных гранях может обрабатываться независимо, но контура в пределах каждой грани должны обрабатываться зависимым образом. Образец на фиг. 14а имеет грани 80, 81 и выступы 82, 83. Две грани с несколькими контурами на основном блоке, верхняя грань 80 и передняя грань 81 могут обрабатываться независимо, поэтому обрабатываются как отдельные независимые ветви. В пределах каждой ветви, начало ʺследующегоʺ контура может быть любой из двенадцати необработанных граней, то есть для ветви грани 80, стороны выступов 82a, 82b, 82c, как показано на фиг. 14b, и для ветви грани 81, стороны выступов 83а, 83b, 83с, как показано на фиг. 14с. Как можно видеть на фиг. 15а-15с, каждая из граней 82а приводит к успешному топологическому согласованию этого подграфа, оставляя оставшиеся восемь ребер-кандидатов 82b, 82с для контура после этого и четыре ребра-кандидата 82с для следующего с количеством комбинаций отображения, умножающимся на каждом этапе. Аналогично для выступов 83 и ребер-кандидатов 83a, 83b, 83c.
Этот пример выбран с большим количеством ребер равных длин, чтобы выявить тот факт, что только локальные проверки свойств, таких как длина ребра, могут по-прежнему давать большое количество отображений на некоторых моделях. На практике во многих случаях можно удалить этот тип ветвления, добавив дополнительные 'полу-локальные' геометрические проверки. Например, детерминированное сопоставление может определять ближайшие ребра и/или вершины, чтобы связать один контур с другим, расширяя обход, а не ветвление. Дополнительно, когда невозможно избежать большого количества комбинаций, отображения могут храниться в древовидной структуре, которая является более компактной и может быть геометрически проверена более эффективным иерархическим образом. В качестве альтернативы, некоторые из точных геометрических проверок могут выполняться в рамках сопоставления графа, с достижением баланса между сокращением сгенерированных сопоставлений и добавлением времени вычисления к быстрому сопоставлению. Результирующая производительность алгоритма является движущим фактором при настройке этого аспекта способа к конкретной области.
На фиг. 16a и 16b и в таблице 7 приведены примеры ветвления сегмента с несколькими границами. На фиг. 16а, граничные сегменты 96 грани 91 можно наблюдать в примере, иллюстрирующем шаблон, где дополнительная сфера, грань (поверхность) 95, означает, что грань 91 имеет два граничных сегмента. Когда детерминированный алгоритм переходит на грань 91 от любой из граней 90, 92 или 94, он будет обрабатывать ребра в очередности контура и очередности обратного контура до тех пор, пока он не достигнет граничного сегмента. Данный способ никогда не переходит на поверхность 95. Хотя шаблон имеет только один ребро в каждом из граничных сегментов, успешный кандидат может иметь несколько ребер. При сравнении с гранями-кандидатами, как показано на фиг. 16b, способ нуждается в ветвлении, чтобы обнаружить совпадение для грани 95. Набор потенциальных ребер для проверки продолжается от левой стороны сферы F до правой стороны сферы H. Алгоритм должен тестировать все пять из этих возможностей и должен обнаружить три топологически корректных совпадения. Нет необходимости тестировать ребра 97, 98 непосредственно перед F и после H, поскольку предполагается, что граничные сегменты состоят по меньшей мере из одного ребра. Три топологически корректных отображения выводятся, как указано в таблице 7 ниже.
Таблица 7
Шаблон
Отображение 1
Отображение 2
Отображение 3
90
A
A
A
91
B
B
B
92
C
C
C
93
D
D
D
94
E
E
E
95
F
G
H
Несколько точек ветвления граничного сегмента могут быть зависимыми, так как могло бы существовать несколько подграфов, исходящих из того же самого контура грани. Расположение одного из них зависит от предыдущего. Например, шаблон, показанный на фиг. 17, имеет такую граничную грань (грань 101) с двумя оставшимися внутренними сегментами, соединенными с ней на границе, которые еще должны быть сопоставлены. После успешного сопоставления граней 100-104, выполняется начальная попытка для поиска внутреннего сегмента, соединяющегося с гранями 105, 106 и 107, так как потенциальные кандидаты для внутреннего сегмента, соединяющегося с 113, 114 и 115, зависят от местоположения этого первого внутреннего сегмента. Алгоритм должен многократно вызывать алгоритм детерминированного сопоставления с различными начальными ребрами-кандидатами для следующего внутреннего сегмента. Как только детерминированный метод нашел успешное совпадение для подграфа, то есть граней 105, 106, 107 и 108, он затем добавляет следующий внутренний сегмент, соединяющийся с гранями 113, 114, 115 и 116, в качестве другой ветви. Во время сопоставления граней 105, 106, 107 и 108 он также обнаружит другую ветвь на грани 108 и т.д.
Когда ветвь достигнута, ребра-кандидаты упорядочиваются, а затем исследуются. Для ветвей с множеством контуров функция может останавливаться, как только будет найдено корректное совпадение для ветви, так как отображения, которые следуют из альтернативных кандидатов, могут быть выведены. Поскольку может иметься несколько успешных кандидатов, все эти различные отображения должны быть скомпилированы. Для независимых ветвей, результирующие успешные сопоставления необходимо объединить, что включает в себя формирование полного набора, который включает в себя каждую комбинацию из каждой под-ветви. Чтобы убедиться в этом, рассмотрим примерный шаблон согласно фиг. 18b с гранями 121, 122, 123, 124, 125, 126, 127. Сферические грани (поверхности) 125 и 126 приводят в результате к граничным ветвям, которые являются независимыми, поскольку они возникают на разных гранях. Когда эта модель сопоставляется с кандидатом, показанным на фиг. 18а, как указано в таблице 8, каждая из точек ветвления находит два успешных совпадения. Ветвь от грани 121 образует два отображения, где грань 126 отображается либо на H, либо на I. Аналогично, ветвь от грани 124 образует два отображения для грани 125, отображение на грань F или G. Объединение опций из этих независимых ветвей включает в себя формирование всех комбинаций опций в каждой ветви. Две опции в ветвях приводят в результате к 2×2=4 возможным комбинациям для отображений граней 125 и 126 (HF, HG, IF, IG). Все четыре отображения обеспечивают одинаковые пары граней для первых пяти граней.
Таблица 8
Ветвь 1
Ветвь 2
Шаблон
Отображение 1
Отображение 2
Отображение3
Отображение 4
127
A
A
A
A
121
B
B
B
B
122
C
C
C
C
123
D
D
D
D
124
E
E
E
E
125
N/A
N/A
F
G
126
H
I
N/A
N/A
Еще одно усложнение касается деталей, которые приводят к циклическим графам, как показано на фиг. 19а, 19b и 19с. Примерный шаблон согласно фиг. 19а содержит потенциальную грань 130 с ветвлением, так как шаблон имеет два отдельных внутренних сегмента 131, 132: сегмент 131, обозначенный сплошной линией, и сегмент 132, обозначенный пунктирной линией. Однако правый компонент 133 детали обеспечивает возможность другого маршрута ко второму сегменту 132, так что эта модель может сопоставляться чисто детерминированными средствами. Поэтому при исследовании ветвей необходимо проверить, что искомый внутренний сегмент еще не найден. В примере на фиг. 19b показан шаблон с двумя подграфами. Грань 134 с ветвлением имеет три отдельных внутренних сегмента: сегмент 135, показанный сплошной линией, и сегменты 136, 137, показанные пунктирной линией, причем три сегмента указывают две зависимые ветви. Однако исследование первой ветви детерминированными способом обнаруживает третий внутренний сегмент 137. В примере согласно фиг. 19c показан еще один шаблон с двумя гранями 138 с ветвлением. Каждый подграф обеспечивает две независимые ветви. Однако исследование первой ветви обнаруживает вторую ветвь детерминированным способом.
Этот способ быстро находит клоны, а также отбрасывает не-клоны по ряду причин. Объединение детерминированного обхода с ветвлением означает, что потенциальное дерево поиска является минимальным. Использование локальных свойств дополнительно существенно сокращает фактическое дерево поиска. Сопоставление графов исчерпывается до проведения любых геометрических испытаний, что может быть дорогостоящим с точки зрения времени CPU и, следовательно, полного затрачиваемого времени. Анализ ввода позволяет выводить симметричные клоны, а не явно обнаруживать, уменьшая пространство поиска. Разумный выбор начальных граней и ребер уменьшает количество сопоставлений, которые предпринимаются. Разделение топологии и геометрии позволяет получить диагностический результат в тех случаях, когда клоны могут ожидаться, но не возвращаются вследствие частичных совпадений топологии или частичных совпадений геометрии. Разделение топологии и геометрии позволяет включить ряд дополнительных функций, как более подробно описано ниже. Возврат информации отображения и системы координат означает, что выходной результат можно легко использовать при идентификации геометрического шаблона. Способ также создает согласованные системы координат и преобразования, которые полезны для последующих приложений. Обнаружение симметрии, а также ускорение обработки приводит к созданию более совершенной системы координат в случаях вращательной симметрии наряду со всеми отображениями, которые, опять же, будут полезны в дальнейшем.
Существует множество распространений и расширений, которые могут быть использованы с раскрытым способом. Объем может быть увеличен, чтобы включать шаблоны, содержащие множество наборов соединенных граней. Выбор начальных грани/ребра может настраиваться для каждого шаблона, например, в попытке выбрать начальной пары грани/ребра, которая максимизирует часть графа, который может проходиться детерминированным образом. Это увеличивает вероятность отклонения кандидата без ветвления. Выбор начальных грани/ребра может быть настроен для конкретного окружения с учетом любого знания вероятной частоты различных свойств для конкретной области или фактическим предварительным сканированием представленного окружения, чтобы установить это. Это полезно, когда в том же самом окружении выполняется поиск для многих разных шаблонов. Некоторые границы или все границы могут быть важными, так что может добавляться гибкость, чтобы требовать точного совпадения на некоторых или всех граничных ребрах.
Некоторые точные геометрические проверки могут быть заменены логическими проверками. Например, внутренние поверхности обработки, такие как элементы сопряжения или фаски, могут проверяться по типу и параметрам, а не по геометрии, допуская более толерантные совпадения, а также допуская варьирование параметров (например, радиусов элементов сопряжения) в этих областях. Проверка геометрии может быть сделана толерантной, чтобы допускать импорт из разных систем. Топологическое и геометрическое разделение способа допускает возможное распознавание подобных топологических клонов с некоторой степенью геометрической вариации, например: общий размер (масштаб) или конкретные параметрические вариации в семействе признаков. Настройка проверки топологии и геометрии позволяет идентифицировать симметричные или зеркальные признаки. Может быть реализован частичный обнаружитель совпадения, который позволяет установить порог совпадения, и система указывает, какая часть шаблона совпадает. Могут быть дополнительные специальные случаи выбора направления оси Z в несимметричных случаях.
Особенно полезный признак для проектирования продукта допускает инвертированные совпадения, так что шаблон компонента может быть использован для нахождения корректного соответствующего компонента, такого как шплинт для конкретного отверстия, или признак на пресс-форме, который соответствует признаку на детали. Способ может быть использован ʺна летуʺ в любом приложении, которое может использовать подобие. В этом контексте, клоны не обязательно должны постоянно маркироваться, но обнаруживаются по мере необходимости и могут меняться и эволюционировать по мере постепенного построения модели. Весьма просто, раскрытый способ обеспечивает мощный инструмент выбора, особенно эффективный при поиске образцов, которые по существу, но не полностью топологически равны, потому что способ способен эффективно отклонять непригодные образцы.
Разумеется, специалистам в данной области техники должно быть понятно, что, если специально не указано или не требуется последовательностью операций, некоторые этапы в описанных выше процессах могут опускаться, выполняться одновременно или последовательно или выполняться в другом порядке.
Специалистам в данной области техники должно быть понятно, что, для простоты и ясности, полная структура и работа всех систем обработки данных, подходящих для использования с настоящим раскрытием, не изображаются и не описываются в настоящем документе. Вместо этого изображена и описана только такая часть системы обработки данных, которая уникальна для настоящего раскрытия или необходима для понимания настоящего раскрытия. Остальная часть конструкции и функционирования системы 1 обработки данных может соответствовать любой из различных текущих реализаций и практических действий, известных в данной области техники.
Важно отметить, что, хотя раскрытие включает описание в контексте полностью функциональной системы, специалистам в данной области техники должно быть понятно, что по меньшей мере части механизма настоящего раскрытия могут распространяться в форме инструкций, содержащихся в используемом машиной, используемом компьютером или считываемом компьютером носителе в любой из множества форм, и что настоящее раскрытие применяется равным образом независимо от конкретного типа инструкции или носителя, несущего сигнал, или носителя хранения данных, используемого для фактического выполнения распространения. Примеры используемых/считываемых машиной или используемых/считываемых компьютером носителей включают в себя: энергонезависимые, жестко-кодированные носители, такие как постоянная память (ROM) или стираемая, электрически программируемая постоянная память (EEPROM) и записываемые пользователем носители, такие как гибкие диски, накопители на жестких дисках и постоянная память на компакт-дисках (CD-ROM) или цифровые универсальные диски (DVD).
Хотя был подробно описан примерный вариант осуществления настоящего раскрытия, специалистам в данной области техники должно быть понятно, что различные изменения, замены, вариации и усовершенствования, раскрытые в настоящем документе, могут быть выполнены без отклонения от сущности и объема раскрытия в его самой широкой форме.
Ничто из описаний в настоящей заявке не должно рассматриваться как подразумевающее, что какой-либо конкретный элемент, этап или функция является существенным элементом, который должен быть включен в объем формулы изобретения: объем патентуемого предмета определяется только принятыми пунктами формулы изобретения. Более того, ни один из этих пунктов формулы изобретения не подразумевает применения 35 USC 112(f), если только за точным выражением ʺсредство дляʺ не следует причастие.