Сохраняющее геометрию уменьшение размера сетки: особенности механизма облегчения BIM-моделей в 3D Expert.
Продуктовый конвейер: где происходит деСимволжизни
Прежде чем углубляться в технические детали, рассмотрим, как алгоритмы уменьшения размерности сетки и удаления избыточных данных вписываются в производственный процесс 3D Expert. Эти методы...УэЭти операции выполняются исключительно на этапе облегчения конструкции — никогда во время извлечения данных или рендеринга:
- Плагин для 3D/BIM (ТОЛЬКО для извлечения данных) — В настоящее время доступно 6 нативных надстроек для экспорта в CAD/BIM-платформы (Revit, Bentley, Tekla и др.), построенных на основе официальных API поставщиков. Извлекает геометрию, текстуры, материалы, древовидную структуру и атрибутивные данные из нативных форматов (.rvt, .dgn и др.) без потери данных. Выходные данные: промежуточный файл GLZIP (несжатый) + файл базы данных (атрибуты). Плагин НЕ выполняет децимацию, сжатие или какое-либо облегчение — его единственная задача — извлечение данных без потери данных из проприетарных форматов.
- Генератор файлов OPT (Облегчение → вывод в формате .opt) — Механизм облегчения, выполняющий уменьшение размера сетки, удаление избыточных данных, сжатие Draco, генерацию LOD и упаковку базы данных атрибутов — всё это на локальном компьютере пользователя. Принимает промежуточные файлы GLZIP (из плагина) или открытые форматы (IFC, FBX, STEP, 3DXML и т. д.). Вывод: модель в формате **.opt** + файл базы данных. Это ЕДИНСТВЕННЫЙ продукт, который создает файлы .opt для последующего веб-рендеринга.
- 3D Model & Data Assist (Lightweighting + Desktop Rendering, Win 10+) — это нативное настольное приложение для Windows 10+, которое импортирует файлы GLZIP (из плагина) или открытые форматы, выполняет ту же операцию уменьшения размерности сетки и удаления избыточных данных, что и Opt File Generator, а затем немедленно визуализирует модель с полным запросом свойств — всё в одном интегрированном приложении. НЕ выводит файлы .opt; это инструмент для конечного пользователя, а не конвертер файлов.
- Rapid3D Loader для Three.js (Веб-рендеринг) — npm-пакет, который напрямую считывает и загружает модели в формате .opt (созданные генератором файлов Opt) в сцены Three.js. Встраивает декодер WASM Draco для декомпрессии на стороне браузера с прогрессивной потоковой передачей фрагментов. Это этап рендеринга — он обрабатывает файлы .opt, никогда не создает и не изменяет их.
Вкратце: плагин извлекает данные из исходных форматов в промежуточный GLZIP. Генератор файлов Opt выполняет уменьшение размера сетки и удаление избыточности, а также выводит файлы .opt для веб-развертывания. 3D Model & Data Asst выполняет аналогичное облегчение и рендерит непосредственно в Windows 10+ — без вывода файлов .opt. Rapid3D Loader считывает файлы .opt для веб-рендеринга.
────────────────────────────────────────────────────────
Часть I: Автоматическое уменьшение размера сетки — сопоставление с продуктом
Упрощение, сохраняющее геометрию, на основе QEM
Автоматическое уменьшение количества треугольников в сетке — это процесс сокращения числа треугольников при сохранении визуального облика модели и — что особенно важно для BIM — её инженерной точности. Механизм уменьшения количества треугольников в 3D Expert основан на улучшенном алгоритме метрики квадратичной ошибки (QEM), дополненном адаптацией с учетом кривизны, защитой ребер элементов, проверкой топологии и сохранением UV-координат и текстур. Эти возможности реализуются с помощью Opt File Generator и 3D Model & Data Asst на этапе облегчения сетки.
Влияние избыточного количества треугольников в BIM-моделях на производительность:
| Показатель эффективности | Влияние избыточных треугольников | Улучшение после уничтожения |
| Звонки на розыгрыш | Множество разрозненных ячеек сетки приводят к взрывному росту количества вызовов отрисовки. | Снижение на 60-80% после объединения сеток. |
| Память графического процессора | Слишком большие значения VBO приводят к переполнению памяти. | Количество вершин уменьшилось на 50-80%, объем памяти значительно снизился. |
| Частота кадров (FPS) | Нагрузка на графический процессор при растеризации приводит к снижению частоты кадров ниже 30 FPS. | Стабильная частота кадров 60+ FPS после уменьшения количества жертв. |
- Технология QEM-Based Edge Collapse — усовершенствованный отраслевой стандарт.
Квадратичная метрика ошибки (QEM), предложенная Гарландом и Хекбертом в 1997 году, остается стандартом де-факто для упрощения сетки в промышленных приложениях. Движок 3D Expert использует улучшенный вариант QEM, который строит симметричную матрицу ошибок 4×4 Q для каждой вершины, накапливает геометрические ограничения всех смежных плоскостей граней и определяет приоритеты схлопывания ребер, минимизируя результирующую квадратичную ошибку. Процесс: обход всех ребер, вычисление стоимости схлопывания для каждого, сортировка в очередь с приоритетами (минимальная куча) и итеративное схлопывание ребер с наименьшей стоимостью до достижения целевого количества треугольников или порогового значения ошибки.
- Работает на основе: Opt File Generator (облегчение формата → вывод в формате .opt) или 3D Model & Data Asst (облегчение формата + рендеринг на рабочем столе, Windows 10+). Входные данные: GLZIP из 3D/BIM-плагина (только извлечение) или открытые форматы (IFC, FBX, STEP, 3DXML).
- Адаптивное упрощение с учетом кривизны
Не все поверхности одинаково хорошо переносят уменьшение количества треугольников. Плоские участки (стены, плиты перекрытия) могут потерять 80-90% своих треугольников с незначительным визуальным воздействием, в то время как участки с высокой кривизной (изогнутые балки, цилиндрические трубы, сферические соединения) требуют более плотной тесселяции для сохранения точности формы. Движок вычисляет среднюю кривизну в каждой вершине и применяет штрафной коэффициент (по умолчанию 5,0×) к ребрам в зонах с высокой кривизной, направляя уменьшение количества треугольников в первую очередь на плоские участки. Итоговая формула стоимости разрушения объединяет несколько весов: Стоимость = Ошибка (v̄) × w_boundary × w_curvature × w_uv × w_feature.
- Питаться от: Генератор файлов OPT (облегчение → вывод в формате .opt) или 3D Model & Data Assist (облегчение + рендеринг на рабочем столе, Windows 10+)
- Защита краев элементов
BIM-модели содержат критически важные для инженерного анализа ребра элементов: контуры компонентов, переходы поперечных сечений и узлы соединений. Схлопывание этих ребер исказит профили компонентов и поставит под угрозу инженерную интерпретацию. Система обнаруживает и защищает три категории: открытые граничные ребра (обозначенные только одним треугольником), граничные ребра материалов (смежные треугольники с разными идентификаторами материалов) и ребра сгибов (изменение угла нормали > 60°). Ребра элементов получают настраиваемый множитель веса (по умолчанию 10,0–100,0×), что делает их практически невосприимчивыми к схлопыванию по приоритету.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
- Сохранение топологии и проверка многообразий
Перед выполнением каждое схлопывание ребер проверяется на соответствие пяти топологическим правилам: проверка многообразия (отсутствие ребер, общих для 3 и более треугольников), проверка переворота нормалей (нормали смежных граней не должны инвертироваться), проверка связности (сетка не должна разделяться на отдельные тела), проверка вырожденности (отсутствие треугольников нулевой площади) и проверка самопересечения (новое положение вершины не должно сталкиваться со смежной геометрией). Недопустимые схлопывания отклоняются и пропускаются, гарантируя, что на выходе останется допустимая многообразная сетка, пригодная для последующего рендеринга, обнаружения столкновений и булевых операций.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
- Сохранение УФ-координат и текстуры материала
Поверхности BIM-компонентов часто содержат карты текстуры материала. Неправильная обработка UV-координат во время уменьшения размера приводит к смещению текстуры, растяжению или разрыву швов. Движок реализует четыре стратегии защиты UV-координат: блокировка вершин швов (вершины на UV-швах исключаются из свертывания), взвешивание ребер на границе UV-координат (дополнительные затраты для ребер на границе UV-координат), взвешенная интерполяция UV-координат для новых вершин (на основе весов смежных площадей треугольников) и блокировка границ материала (ребра, охватывающие разные идентификаторы материала, не могут быть свернуты).
- Питаться от: Генератор файлов OPT (облегчение → вывод в формате .opt) или 3D Model & Data Assist (облегчение + рендеринг на рабочем столе, Windows 10+)
- Обычный перерасчет и обработка жестких/мягких краев
После того, как схлопывание ребер удаляет грани, необходимо пересчитать нормали смежных вершин для корректного освещения. Движок использует вычисление нормалей с учетом площади: новая нормаль = Σ(площадь треугольника × нормаль треугольника) / Σ площадь треугольника. Классификация ребер на жесткие и мягкие применяется автоматически: если угол нормали между смежными треугольниками превышает 30° после схлопывания, ребро сохраняется как жесткое ребро с неинтерполированными нормалями. Для компонентов с картами нормалей касательные и бикасательные векторы пересчитываются синхронно.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
- Сохранение симметрии
Компоненты BIM обычно обладают симметрией (прямоугольные колонны, цилиндрические трубы, балки с симметричным поперечным сечением). Неконтролируемое упрощение может нарушить эту симметрию, создавая визуально неприятные асимметрии. Перед началом упрощения система выполняет обнаружение плоскости симметрии, идентифицирует симметричные пары вершин и применяет синхронизированные ограничения на схлопывание, обеспечивая одинаковое упрощение обеих сторон симметричного компонента.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
Пять проверок топологии, выполняемых перед каждым схлопыванием ребра:
| Проверять | Описание | Действие |
| Проверка коллектора | Приводит ли коллапс к образованию неперекрывающегося ребра (3+ треугольника)? | Отклонить коллапс |
| Обычная проверка переворота | Инвертируются ли нормали смежных граней после коллапса? | Отклонить коллапс |
| Проверка подключения | Изменяет ли коллапс связность сетки (разделяет ли он тело)? | Отклонить коллапс |
| Дегенеративная проверка | Приводит ли обрушение к образованию треугольников с нулевой площадью? | Свернуть + удалить дегенеративное |
| Самопересечение | Приведёт ли новая вершина к столкновению с соседними геометрическими объектами? | Отклонить коллапс |
────────────────────────────────────────────────────────
Часть II: Удаление избыточных данных сетки — сопоставление с продуктом
Сварка, удаление отходов и очистка ресурсов.
Уменьшение количества треугольников в результате операции децимации приводит к сокращению их числа, однако экспортируемые из САПР сетчатые объекты содержат дополнительные избыточные данные: дублирующиеся вершины, вырожденную геометрию и неиспользуемые ресурсы. Эти данные не влияют на рендеринг, но потребляют память и замедляют загрузку. Очистка этих данных после децимации дополнительно уменьшает размер модели и повышает производительность во время выполнения.
Сравнительные тесты сварочных работ Vertex по различным моделям:
| Тип модели | Вершины перед | Вершины после | Снижение |
| Здание (офисная башня) | 4 200 000 | 2 100 000 | 50% |
| Инфраструктура (мост) | 8 600 000 | 4 900 000 | 43% |
| Промышленный (химический) завод | 15 300 000 | 8 700 000 | 43% |
- Избыточная сварка вершин (слияние)
Экспортёры CAD-моделей часто создают несколько копий вершин в одном и том же пространственном положении — каждый треугольник содержит независимые данные о вершинах, булевы операции оставляют остатки, а побочные эффекты тесселяции генерируют дубликаты. Алгоритм объединения использует пространственную хэш-сетку для группировки вершин по квантованным координатам, а затем выполняет поиск близости внутри каждой группировки. Две вершины, находящиеся на расстоянии эпсилон (по умолчанию 0,001 единиц модели), объединяются только в том случае, если их нормали, UV-координаты и идентификаторы материалов совпадают; вершины с различными атрибутами (жесткие ребра, UV-швы) сохраняются. Индексы треугольников обновляются для ссылки на объединенную вершину. Данные бенчмарка показывают уменьшение количества вершин на 43-50% для разных типов моделей.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
- Удаление вырожденной геометрии
Вырожденные треугольники — те, площадь которых равна нулю или близка к нулю — не влияют на видимое отображение, но занимают место в буфере индексов. Обычно они возникают из-за остатков булевых операций или проблем с точностью тесселяции. Движок обнаруживает вырожденные треугольники по трем критериям: проверка нулевой площади (площадь
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
- Очистка неиспользуемых ресурсов
Сетчатые объекты могут содержать определенные, но не используемые ресурсы, которые потребляют память, не создавая при этом рендеринговых данных. После уменьшения размера и сварки движок выполняет полное сканирование количества ссылок для очистки: «осиротевших» вершин (количество ссылок = 0), неиспользуемых слотов материалов (отсутствие ссылок на треугольники), пустых UV-каналов (UV2/UV3 все [0,0]), пустых каналов нормалей (касательные/битакасательные все [0,0,0]) и пустых цветовых каналов (все [1,1,1,1]). Эта очистка дополнительно уменьшает объем используемой памяти на 5-10%.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
Неустраненные типы ресурсов, очищенные на этапе пост-очистки:
| Тип ресурса | Описание | Состояние очистки |
| Осиротевшие вершины | Вершины, на которые не ссылается ни один треугольник. | Количество ссылок = 0 |
| Неиспользованные материалы | Материальные ячейки определены, но не связаны с треугольниками. | Количество ссылок на материалы = 0 |
| Пустые УФ-каналы | Каналы UV2/UV3 присутствуют, но все они равны нулю. | Значения канала: все [0,0] |
| Пустые обычные каналы | Касательные/бикасательные каналы – все равны нулю | Значения канала: все [0,0,0] |
| Пустые цветовые каналы | Цветовой канал вершины полностью белый [1,1,1,1] | Значения каналов: все [1,1,1,1] |
────────────────────────────────────────────────────────
Часть III: Пятиступенчатый конвейер обработки данных
Уменьшение размера сетки и удаление избыточных данных выполняются как непрерывный этап обработки в рамках конвейера облегчения модели. Полный процесс состоит из пяти последовательных фаз, выполняемых полностью на локальном компьютере пользователя с помощью Opt File Generator или 3D Model & Data Assist.

Этап 1: Предварительная обработка
Входной файл (промежуточный GLZIP из плагина 3D/BIM или открытые форматы, такие как IFC, FBX, STEP, 3DXML) преобразуется во внутреннюю структуру данных сетки. Топологический анализ определяет граничные ребра, границы материалов и ребра разрывов нормалей для маркировки ребер элементов. Определение симметрии идентифицирует плоскости симметрии компонентов и записывает симметричные пары вершин.
- Входные данные: плагин 3D/BIM (извлечение → GLZIP) или открытые форматы (IFC, FBX, STEP, 3DXML). Обработка: Opt File Generator или 3D Model & Data Assist.
Этап 2: Предварительная очистка резервных систем
Перед началом процесса уменьшения размерности выполняется первый проход по сварке вершин, что снижает последующую вычислительную нагрузку. Удаляются вырожденные треугольники и «осиротевшие» вершины. В журнале предварительной очистки регистрируется количество удаленных вершин и треугольников для обеспечения возможности аудита.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
Этап 3: Автоматическое уменьшение размера выборки.
Для каждой вершины строятся матрицы ошибок QEM. Стоимость схлопывания ребер вычисляется с учетом всех весовых коэффициентов (граница, кривизна, UV-координаты, особенности). Приоритетная очередь с минимальной кучей управляет итеративным схлопыванием ребер от наименьшей к наибольшей стоимости, с проверкой топологии перед каждой операцией. Процесс останавливается при достижении целевого количества треугольников или максимального порогового значения ошибки.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
Этап 4: Резервирование после очистки
В результате уменьшения размера (decimation) могут появиться новые дубликаты вершин (из-за слияния при схлопывании ребер), поэтому выполняется второй проход сварки. Неиспользуемые ресурсы — осиротевшие вершины, пустые слоты материалов, пустые каналы — очищаются путем сканирования по счетчику ссылок.
- Работает на основе: Opt File Generator (облегчение кода → вывод в формате .opt) или 3D Model & Data Assist (облегчение кода + рендеринг на рабочем столе, Windows 10+)
Этап 5: Постобработка и вывод результатов
Все затронутые нормали и касательные вершин пересчитываются. Таблицы сопоставления идентификаторов компонентов обновляются для обеспечения корректности запросов к базе данных атрибутов. Затем Opt File Generator выводит результат в виде файла модели в формате .opt + файла атрибутов базы данных, готового для использования Rapid3D Loader в веб-среде. 3D Model & Data Asst пропускает этап вывода .opt и загружает результат непосредственно во встроенный настольный рендерер в Windows 10+.
- Генератор файлов .opt: выводит файлы .opt + база данных → Rapid3D Loader (веб-рендеринг). 3D-модель и помощник по данным: облегчение структуры + прямой рендеринг на рабочем столе (Windows 10+, без вывода файлов .opt).
────────────────────────────────────────────────────────
Какой продукт для каких потребностей?
Уменьшение размера сетки и удаление избыточных данных — общие возможности, предоставляемые обоими продуктами для облегчения модели. Выбор продукта зависит от того, где находятся ваши конечные пользователи и что им нужно делать с моделью:
- Создание веб-платформы BIM или панели мониторинга цифрового двойника?→ Используйте плагин 3D/BIM для извлечения исходных файлов .rvt/.dgn в промежуточный GLZIP, затем запустите генератор файлов Opt для выполнения уменьшения размерности сетки и удаления избыточности (выход: .opt + DB). Разверните файлы .opt на вашем веб-сервере. Загрузите их с помощью Rapid3D Loader для Three.js. Параметры уменьшения размерности можно настроить с помощью предустановленных профилей генератора файлов Opt.
- Предоставляете ли вы клиентам BIM-модели для просмотра на компьютере в автономном режиме?→ Используйте плагин 3D/BIM для извлечения данных, затем передайте клиенту файл 3D Model & Data Assist (Windows 10+). Клиент импортирует GLZIP (или открывает форматы, такие как IFC/FBX/STEP), и приложение выполнит ту же операцию уменьшения размерности и удаления избыточных данных, а затем отрендерит модель в едином интегрированном интерфейсе — отдельные файлы .opt не требуются.
- Обработка открытых форматов (IFC, FBX, STEP, 3DXML) без собственной лицензии САПР?→ Пропустите плагин. Передавайте файлы открытых форматов непосредственно в Opt File Generator для пакетного уменьшения размера и вывода в формате .opt (для веб-сайта) или в 3D Model & Data Assist для интерактивного уменьшения размера и просмотра на рабочем столе.
- Доставка как через веб-браузер, так и на десктопную версию?→ Для веб-версии: извлечение с помощью плагина (встроенная функция) или импорт файлов открытых форматов → Opt File Generator (уменьшение размера + вывод в формате .opt) → Rapid3D Loader. Для настольных компьютеров: импорт GLZIP или файлов открытых форматов непосредственно в 3D Model & Data Assist (Windows 10+) — программа выполняет уменьшение размера и рендеринг в одном приложении, файлы .opt не требуются.
────────────────────────────────────────────────────────
Краткое описание технологий
| Техника | Основной метод | Точное сохранение | Типичный эффект |
| Децимация сетки | Улучшенная QEM + схлопывание краев | Учет кривизны + проверка краев объекта + проверка топологии | Сокращение количества треугольников на 50-85% |
| Вертексная сварка | Пространственный хеш + эпсилон-сопоставление | Проверка согласованности атрибутов | Уменьшение вершин на 43-50% |
| Дегенеративное удаление | Обнаружение нулевой площади / коллинеарности | Удаляет только некорректные геометрические объекты. | уменьшение количества треугольников на 2-5% |
| Очистка ресурсов | сканирование с подсчетом референтных значений | Удаляет только ресурсы с нулевой ссылкой. | Сокращение объема памяти на 5-10% |
────────────────────────────────────────────────────────
Заключение: Почему точность имеет значение
Уменьшение размера сетки и удаление избыточных данных являются основными составляющими упрощения BIM-моделей. Разница между игрушечным 3D-просмотрщиком и промышленным BIM-приложением заключается не в том, выполняется ли уменьшение размера сетки, а в том, сохраняет ли это уменьшение точность проектирования. Универсальный упроститель сетки может уменьшить количество треугольников за выходные. Для сохранения ребер элементов, поддержания корректности топологии, защиты UV-швов, соблюдения симметрии и обеспечения сохранения точности размеров каждого компонента в процессе работы требуются годы целенаправленной инженерной работы.
Подход 3D Expert — улучшенная технология QEM с адаптацией с учетом кривизны, многокритериальной защитой краев элементов, пятиправильной проверкой топологии и двухпроходной очисткой избыточности — обеспечивает сокращение объема данных на 70-85% при сохранении геометрической точности, необходимой специалистам в области архитектуры, инженерии и строительства. А поскольку эти методы встроены как в Opt File Generator, так и в 3D Model & Data Asst, вы получаете одинаковую точность независимо от того, просматривают ли ваши пользователи модели в браузере через Rapid3D Loader или на настольной рабочей станции через 3D Model & Data Asst.
────────────────────────────────────────────────────────
О компании
Компания 3D Expert Co., Ltd., со штаб-квартирой в Осаке, Япония, разрабатывает высокопроизводительное программное обеспечение 3D/BIM для мировой строительной отрасли. В наш продуктовый портфель входят:
- Плагин для 3D/BIM — В настоящее время доступно 6 надстроек для экспорта в CAD/BIM-платформы, построенных на основе официальных API поставщиков. Выполняет извлечение геометрии, текстур, материалов, структурных деревьев и атрибутов без потерь из исходных форматов (.rvt, .dgn и т. д.). Выходной файл: промежуточный GLZIP. НЕ выполняет сжатие, уменьшение размера или облегчение.
- Генератор файлов Opt — настольный инструмент для пакетной обработки файлов, позволяющий упростить модель. Принимает промежуточные файлы GLZIP (из плагина) или открытые форматы (IFC, FBX, STEP, 3DXML и т. д.) и применяет к ним уменьшение размера сетки, удаление избыточных данных, сжатие Draco, генерацию LOD и оптимизацию сетки на локальном компьютере пользователя. Выходные данные: модель в формате .opt + база данных. Это ЕДИНСТВЕННЫЙ продукт, который создает файлы .opt.
- 3D Model & Data Assist — нативное настольное приложение для Windows 10+. Импортирует файлы GLZIP (из плагина) или открытые форматы, выполняет ту же операцию уменьшения размерности сетки и удаления избыточности, что и Opt File Generator, а затем немедленно визуализирует модель с полным запросом свойств — всё в одном интегрированном приложении. НЕ выводит файлы .opt.
- Rapid3D Loader для Three.js — npm-пакет (opt-rapid3d-loader) со встроенным декодером WASM Draco, прогрессивной потоковой обработкой фрагментов и полным набором API для взаимодействия. Непосредственно считывает и загружает модели в формате .opt (созданные с помощью Opt File Generator) в сцены Three.js.
Узнайте больше или начните бесплатную пробную версию на сайте https://www.opt3ds.com/
Контакт: info@3dexpert.jp
© 2010–2026 3D Expert Co.,Ltd. Все права защищены.
