ENGroup 網站

  • Home
    • SMap
    • reveal
    • blog
  • About
    • Reveal
    • MISC
    • GW
    • Webots
    • FossilSCM
    • Reeborg
    • NX2312
    • Brython
    • RL
      • Rocket1
      • PGP
  • Linux
    • HP server
    • Lubuntu
    • Windows
  • Bind
  • Squid
    • VM1
  • Rocket
  • cmsimde
  • VM
    • Virtualbox
    • Proxmox VE
      • Intro_PVE
Reeborg << Previous Next >> Brython

NX2312

NXOpen 範例: https://github.com/mdecycu/nxopen 

截至 2024 年 6 月,Siemens NX(Siemens Digital Industries Software 的旗艦 CAD/CAM/CAE 解決方案)尚未正式宣布其產品將「全部」轉為 SaaS(Software as a Service,雲端服務)模式。以下是現況與未來趨勢的分析:

現況說明

  • 混合授權模式:目前 Siemens NX 提供傳統本地端安裝(on-premise)、浮動授權與雲端授權(Cloud Connected Licensing)等多種方式。
  • 雲端與 SaaS 進展:
    • Siemens 近年積極推動其 Xcelerator 雲端平台,並陸續推出 Teamcenter X、NX X 等 SaaS 產品線。
    • Siemens NX 已能透過雲端桌面、虛擬化等方式運作,但 NX 的 SaaS 版本(NX X)目前仍屬於部分功能雲端化,並非完全替代本地端。
    • Siemens 官方強調會「持續支援混合部署」(hybrid deployment),以配合不同行業、地區的 IT 政策與資料安全需求。

未來趨勢(預測)

  • 逐步推進 SaaS:全球 CAD/CAM 巨頭(如 Autodesk, PTC, Dassault Systèmes)都在加速 SaaS 轉型,Siemens 也不例外,但考量現有大型工業客戶的需求,完全移除本地端安裝在短期內機率不高。
  • 靈活選擇:預計未來 5-10 年內,Siemens NX 會維持本地端與 SaaS 雙軌並行,讓客戶根據需求選擇。
  • SaaS 比重提升:隨著雲端安全與效能提升,以及企業 IT 策略轉型,SaaS 模式的比重會逐年提高。

後續議題:

NXOpen 的程式架構, 一旦轉為 Saas 後, 請說明其後續應用模式大致如何?

將 NXOpen 的程式架構轉為 SaaS(Software as a Service) 模式後,會對其開發方式、部署方式、客戶使用習慣、整合介面與授權模式產生重大變化。以下是轉為 SaaS 模式後的 後續應用模式解析:


🔧 一、NXOpen 是什麼?

NXOpen 是 Siemens NX 提供的一套 API(支援 C++, C#, VB.NET, Java、Python),讓用戶能夠對 NX CAD/CAM/CAE 系統進行客製化與二次開發。


☁️ 二、轉為 SaaS 模式後的主要應用變化:


1. 開發與部署模式轉變:從本機執行變為雲端整合

項目 傳統 NXOpen SaaS 化後
執行位置 本機 NX 軟體上執行 plug-in 或 API 呼叫 透過 Web API / 雲端平台觸發
程式部署 安裝 DLL 或 script 到本地端 部署於雲端容器 / 微服務架構
整合方式 使用本機 NX COM 或 Open API 使用 RESTful API / GraphQL / Webhook

✅ SaaS 模式下:

  • NX 本體可能以虛擬桌面、Web NX(若 Siemens 支援)或 Hybrid WebApp 的方式提供

  • 開發者將客製功能部署在雲端,可藉由 HTTP API 被用戶端(甚至非 NX 應用)呼叫



2. 模組化與微服務化

  • 傳統 NXOpen 開發的是 plug-in 或宏指令,SaaS 模式則可拆成「功能模組微服務」:

    • 例如:「自動建模」、「幾何驗證」、「刀具路徑最佳化」等功能做為 API 提供

    • 每個功能可被其他內部/外部系統串接(如 PLM、MES、BOM 系統)



3. 資料傳輸與儲存改變

  • 使用者的 3D 模型、幾何參數可能上傳至雲端伺服器

  • 可支援版本控管、多人協同操作、異地編輯等功能

  • 與 Teamcenter、Cloud PLM 無縫整合



4. 使用者互動模式

模式 傳統 SaaS
使用界面 本地 NX GUI 操作 Web-based NX、API 呼叫、輕量介面(如瀏覽器)
客製 UI 插件型窗口、Form Web App、Dashboard、雲端協同平台
使用者 單一工程師使用 多人協同(設計、製造、客戶)即時互動


5. 授權與訂閱模式

  • 傳統 NX 授權基於安裝主機的 License

  • SaaS 模式改為 基於用量(Usage-based) 或 訂閱(Subscription)

    • 按 API 呼叫數量計費

    • 按帳戶使用時間、功能模組區分計費



6. 後續可能的應用場景

  • ✅ 自動化設計平台(例如 Web UI 輸入參數 → 雲端 NX 建模 → 下載 STEP)

  • ✅ 多人協同設計(像 Google Docs 那樣的 CAD 協作)

  • ✅ 與 AI 系統整合(AI 生成設計草圖,SaaS API 執行建模驗證)

  • ✅ 和製造雲端 MES 或供應鏈平台整合,做自動流程串接


🧭 總結

轉為 SaaS 模式後,NXOpen 不再只是「開發者在本地 NX 上開發插件」,而是變成可被任意雲端平台呼叫的 CAD 智能功能服務(Engineering-as-a-Service)。這樣的模式有利於企業:

  • 簡化部署與維運

  • 更快導入自動化流程

  • 支援全球團隊協同作業

  • 更靈活的成本控制與計費


延伸議題:

之後的機械設計工程師若要使用 NXOpen 是否必須具備更多的 Web based programming 技術?

是的,未來的機械設計工程師若要在 NXOpen 的 SaaS 環境中開發或應用客製化功能,勢必需要具備更多 Web-based programming 技術與知識,原因如下:


✅ 為什麼需要 Web-based Programming 技術?


1. 開發介面從本地 API 轉向雲端 API

  • 過去:使用 C++ / C# 呼叫 NXOpen 的本地 DLL

  • 未來:透過 RESTful API、GraphQL 等 Web 介面來存取 NX 雲端功能

➡️ 工程師需要了解:

  • HTTP 請求(GET/POST)

  • JSON 資料格式

  • API 認證(Token, OAuth)



2. 前端互動越來越重要

若未來使用 NX Web 平台(或其整合式 UI),工程師可能要:

  • 設計客製化的網頁表單

  • 用 JavaScript 與 NX API 互動

➡️ 建議學會:

  • JavaScript / TypeScript

  • React / Vue 等前端框架

  • HTML5 / CSS3 基礎



3. 微服務與自動化流程

許多 SaaS 架構會將功能模組化為微服務,例如:

  • 自動建模服務

  • 自動生成工程圖服務

這些都可能透過 Webhook 或 API 觸發。機械設計工程師需要能:

  • 建立 pipeline(例如 Python 腳本串接 Web API)

  • 撰寫跨平台的資料流程(如將 NX 資料傳給 PLM 或 CAM 系統)

➡️ 工具建議:

  • Python(結合 Flask / FastAPI 做簡易服務)

  • Git / CI/CD 概念

  • 基礎的 Docker 容器知識


🧠 所以未來的「NXOpen 工程師」會長這樣:

能力領域 需懂技術 原因
機械設計知識 Solid modeling, PMI, CAE 概念 工程本質還是設計
雲端 API 串接 RESTful API, JSON 呼叫 SaaS 平台功能
Web UI 開發(選配) JavaScript, React 若需設計互動界面
資料流與整合 Python, Webhook, Git 自動化與系統串接需求
安全與授權 OAuth, JWT Web API 呼叫需要身份驗證

🎯 小結

未來使用 NXOpen 的工程師,尤其若參與企業數位轉型或雲端化開發專案,勢必要具備 Web-based programming 的基礎能力。這並不代表要成為全職 Web 工程師,但需要:

  • 能看懂 API 文件

  • 能用 Python / JavaScript 寫簡單整合程式

  • 理解前後端如何協作


當前機械工程師面對的是一個快速數位化的產業環境,尤其在 CAD/CAE 平台(如 NX)逐步 SaaS 化、自動化與智能化的趨勢下,具備跨界的程式設計與系統整合能力變得非常重要。以下是我為「機械背景工程師」設計的 分階段、實務導向的學習路線圖,強調從無基礎到具備 SaaS 架構開發與應用能力。


🎯 學習目標總覽

階段 能力核心 目的
入門階段 基本程式能力 能看懂、撰寫簡單自動化腳本
成長階段 API 串接與資料處理 能與 NX SaaS 功能對接
進階階段 Web 應用與自動化架構 能開發雲端工具或整合流程
專業階段 微服務與 DevOps 概念 能部署工程服務並參與企業級專案

🧩【第一階段:程式設計入門】🔰

適合從沒學過程式的工程師

🔹 學習內容

  • Python 基礎語法(變數、條件、迴圈)

  • 函式與模組概念

  • 檔案處理(CSV, JSON)

  • 程式邏輯與問題拆解

✅ 建議工具/平台

  • Python(建議選擇)

  • VS Code

  • 線上學習:Codecademy、Coursera(Python for Everybody)

📌 實作範例

  • 寫一支自動命名圖檔的工具

  • 解析 CSV 製造清單,自動計算總成本


🧩【第二階段:NX API 與 Web 串接】🔗

為連接 SaaS NX 系統做好準備

🔹 學習內容

  • NXOpen(C# or Python)API 概念與結構

  • RESTful API 基礎(GET / POST / Header)

  • JSON 結構與資料轉換

  • 呼叫 NX SaaS 的 API(假設已公開)

✅ 建議工具

  • Postman(測試 API)

  • Python requests 套件

  • 熟悉 NX 本地端 API(必要時)

📌 實作範例

  • 使用 Python 呼叫 NX 雲端 API,自動建立 3D 模型

  • 把本地 NX 生成的資料上傳到 Web 系統


🧩【第三階段:Web 前端與後端應用】🌐

讓你能設計前端輸入畫面,後端處理模型或資料

🔹 學習內容

  • HTML5 / CSS3 / JavaScript 基礎

  • 使用 React.js 製作互動介面

  • Python + Flask(或 FastAPI)作為後端 API 伺服器

  • 網頁如何觸發模型運算或匯出圖檔

✅ 建議工具

  • GitHub、VS Code、React + Flask 專案模板

  • Docker 基礎(可選)

📌 實作範例

  • 建立一個「線上建模輸入系統」:用戶輸入尺寸 → 後端呼叫 NX SaaS API → 顯示模型預覽

  • 前端 UI 控制不同模組組合,動態產生 3D 零件


🧩【第四階段:整合與部署工程平台】🚀

可參與企業專案,或打造自己的工程應用服務

🔹 學習內容

  • 軟體架構:MVC、API Gateway、資料庫整合

  • 使用 Git + CI/CD(GitHub Actions)

  • 雲端部署(AWS/GCP/Azure)

  • OAuth / Token 身分驗證

✅ 工具建議

  • Docker + Docker Compose

  • GitHub + Netlify / Railway / Vercel

  • Kubernetes(進階)

📌 實作範例

  • 將工程設計 SaaS 工具部署上雲端,提供 API 給企業內部使用

  • 整合 NX SaaS + PLM + ERP 的工作流程


📚 推薦資源

類型 資源
Python 入門 Python for Everybody(Coursera)
Web 前端 freeCodeCamp
REST API Postman Learn
NXOpen Siemens 官方文件 + GitHub 上的開源專案
DevOps / 雲端 Docker 教學、AWS Skill Builder

✅ 結語與建議

你不需要成為全職軟體工程師,但未來的機械工程師會是:

  • 能開發簡易自動化工具

  • 會串接 SaaS CAD 平台與企業系統

  • 理解 Web 技術,能與 IT 部門協作開發

🌟 最重要的是 從小任務開始實作,逐步構建信心與能力。



Reeborg << Previous Next >> Brython

Copyright © All rights reserved | This template is made with by Colorlib