Ця сторінка ще не перекладена українською. Показано англійську версію. Переглянути англійською

Конвеєр трансляції CAD

Обробка різних CAD-форматів (Inventor, Fusion, STEP, IGES) для веб-перегляду.

Огляд процесу

Джерела CAD
Inventor IAM/IPT
Fusion 360
STEP/STP
IGES/IGS
SolidWorks
Завантаження RAPS
raps object upload
Сховище APS
OSS Bucket
Model Derivative
Механізм трансляції
Результати
SVF2 Viewable
Мініатюри
Метадані
Вхід→Завантаження→Сховище→Трансляція→Вихід

Підхід через CLI

Крок 1: Створення бакета для CAD

raps bucket create --key cad-library --policy persistent --region US

Крок 2: Завантаження CAD-файлів

# Збірка Inventor
raps object upload cad-library assembly.iam

# Деталь Inventor
raps object upload cad-library part.ipt

# Файл STEP
raps object upload cad-library model.stp

# Файл IGES
raps object upload cad-library legacy.igs

Крок 3: Трансляція у SVF2

# Отримати URN та транслювати
URN=$(raps object urn cad-library assembly.iam --output plain)
raps translate start "$URN" --format svf2 --wait

Крок 4: Перевірка трансляції

# Перевірити маніфест
raps translate manifest "$URN"

# Отримати доступні види
raps derivative views "$URN" --output json

Підтримувані формати

ФорматРозширенняПримітки
Inventor Assembly.iamПовна ієрархія збірки
Inventor Part.iptОкремі файли деталей
STEP.stp, .stepAP203/AP214
IGES.igs, .igesЗастарілий формат
SolidWorks.sldprt, .sldasmДеталі та збірки
Fusion 360.f3dБезпосередньо з Fusion

CI/CD-конвеєр

# .github/workflows/cad-translation.yml
name: CAD Translation Pipeline

on:
  push:
    paths:
      - 'cad/**/*.iam'
      - 'cad/**/*.ipt'
      - 'cad/**/*.stp'
      - 'cad/**/*.igs'

env:
  BUCKET: cad-library-${{ github.repository_id }}

jobs:
  translate-cad:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install RAPS
        run: cargo install raps

      - name: Setup bucket
        env:
          APS_CLIENT_ID: ${{ secrets.APS_CLIENT_ID }}
          APS_CLIENT_SECRET: ${{ secrets.APS_CLIENT_SECRET }}
        run: |
          raps bucket create --key "$BUCKET" --policy persistent --region US 2>/dev/null || true

      - name: Upload and translate
        env:
          APS_CLIENT_ID: ${{ secrets.APS_CLIENT_ID }}
          APS_CLIENT_SECRET: ${{ secrets.APS_CLIENT_SECRET }}
        run: |
          for file in $(git diff --name-only HEAD~1 HEAD -- 'cad/**'); do
            [ -f "$file" ] || continue

            echo "Processing: $file"
            raps object upload "$BUCKET" "$file"

            key=$(basename "$file")
            URN=$(raps object urn "$BUCKET" "$key" --output plain)
            raps translate start "$URN" --format svf2 --wait

            echo "Translated: $key"
          done

      - name: Generate translation report
        env:
          APS_CLIENT_ID: ${{ secrets.APS_CLIENT_ID }}
          APS_CLIENT_SECRET: ${{ secrets.APS_CLIENT_SECRET }}
        run: |
          echo "# CAD Translation Report" > report.md
          echo "Date: $(date)" >> report.md
          echo "" >> report.md

          raps object list "$BUCKET" --output json | jq -r '.[].key' | while read key; do
            URN=$(raps object urn "$BUCKET" "$key" --output plain)
            STATUS=$(raps translate manifest "$URN" 2>/dev/null | jq -r '.status // "pending"')
            echo "- $key: $STATUS" >> report.md
          done

      - name: Upload report
        uses: actions/upload-artifact@v4
        with:
          name: translation-report
          path: report.md

Потік конвеєра

Git Push
CAD-файли змінено
Обробка
Завантаження в OSS
Запуск трансляції
Очікування завершення
Результат
translation-report.md

Інтеграція з MCP

Трансляція одного файлу

User: "Upload and translate the new assembly.iam file for web viewing"
Користувач
AI-асистент
RAPS MCP
APS Cloud
Користувач
Транслювати assembly.iam
AI
aps_object_upload(bucket, file)
MCP
Завантаження файлу
APS
Завантаження завершено
AI
aps_object_urn(bucket, key)
MCP
URN
AI
aps_translate_start(urn, format=“svf2”)
MCP
Запуск трансляції
цикл: Очікування завершення
AI
aps_translate_manifest(urn)
MCP
Перевірка статусу
AI
Трансляція завершена

Відповідь AI:

assembly.iam було завантажено та успішно транслійовано.

  • Розмір файлу: 45 МБ
  • Компоненти: 234 деталі
  • Час трансляції: 2 хв 34 с
  • URL переглядача: https://viewer.autodesk.com/…

Трансляція кількох форматів

User: "I have STEP and IGES files from a supplier. Translate them all for review."

Відповідь AI:

Трансляція 5 файлів з теки постачальника:

ФайлФорматСтатусЧас
bracket.stpSTEPЗавершено45 с
housing.stpSTEPЗавершено1 хв 12 с
shaft.igsIGESЗавершено32 с
gear.igsIGESЗавершено28 с
mount.stpSTEPЗавершено55 с

Усі файли готові для перегляду.


Параметри для конкретних форматів

Трансляція STEP

# Стандартна трансляція STEP
raps translate start "$URN" --format svf2 --wait

# З конкретними видами на виході
raps translate start "$URN" --format svf2 --views "3d"

Збірка Inventor з посиланнями

# Завантажити збірку з усіма пов'язаними деталями
raps object upload cad-library assembly.iam
raps object upload cad-library part1.ipt
raps object upload cad-library part2.ipt

# Транслювати збірку (посилання розв'язуються автоматично)
URN=$(raps object urn cad-library assembly.iam --output plain)
raps translate start "$URN" --format svf2 --wait

ZIP-пакет з кореневим файлом

# Створити zip зі збіркою та деталями
zip -r model-package.zip assembly.iam *.ipt

# Завантажити пакет
raps object upload cad-library model-package.zip

# Транслювати з вказаним кореневим файлом
URN=$(raps object urn cad-library model-package.zip --output plain)
raps translate start "$URN" --format svf2 --root "assembly.iam" --wait

Пов’язане