山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

2026年6月30日

[筆記] IronCAD vs Solidwork 3D 建模比較


[筆記] IromCAD vs Solidwork 3D 建模比較 (From AI answer) 

IronCADSolidWorks 雖然都屬於工業級的 3D CAD(計算機輔助設計)軟體,但兩者的設計哲學與操作邏輯截然不同。

簡單來說:SolidWorks 採用嚴謹的「參數化歷史紀錄導向」,而 IronCAD 則主打極致自由的「拖曳式直覺設計(雙核心特徵)」
核心差異快速對比
比較項目IronCADSolidWorks
 設計邏輯創新設計(直覺拖曳) + 參數化傳統參數化設計(嚴格草圖連動)
 幾何核心雙核心 (ACIS + Parasolid)單核心 (Parasolid)
 檔案架構單一場景檔案(零件、組合體在同個視窗)獨立檔案(零件、組合體、工程圖分離連動)
修改靈活性極高,可直接變更無歷史紀錄的幾何中等,需回溯特徵樹修正,否則容易破面
主要定位快速概念設計、自動化產線、夾治具、客製化機械機械標準件、大批量產商品、精密機構、汽機車零件
學習曲線非常親民,新手可在幾天內快速上手較陡峭,需要嚴格的草圖與幾何約束觀念

IronCAD 的優勢與特點
IronCAD 的核心理念是「讓工程師像玩樂高一樣設計機械」。
  • 圖庫拖曳建模 (Catalog Drag & Drop):內建大量標準幾何形狀(如方塊、圓柱、倒角)。設計師可以直接把形狀「拖」到畫面上組合,再直接拉動尺寸箭頭。
  • 強大的三維球 (TriBall):這是 IronCAD 的專利招牌工具。它可以在 3D 空間中對任何物件進行極其直覺的平移、旋轉、陣列、對齊,不需要頻繁切換視角或設定複雜的配合條件。
  • 單一場景環境 (Single Model Environment):在同一個畫面上,你可以同時設計幾百個零件並將它們組裝,不需要像傳統 CAD 一樣一直切換「零件檔」與「組合件檔」,大幅減少檔案遺失或關聯斷裂的風險。
  • 無歷史紀錄的彈性修改:即便匯入其他軟體的 STEP 或 IGES 斷頭檔,IronCAD 也能直接選取面進行移動或修改,不會受限於原有的特徵樹順序。
SolidWorks 的優勢與特點
SolidWorks 是全球工業界的絕對主流,它的嚴謹性是為了「大規模標準化量產」而生。
  • 嚴謹的特徵歷史樹 (Feature Tree):每一個工程步驟都被嚴格記錄。當產品需要進行微調(例如變更外殼厚度),只要修改最源頭的草圖,後續的孔位、螺絲、工程圖都會自動同步更新。
  • 極致的標準件與工程圖:內建極為強大的 2D 工程圖功能,完美符合 ISO/ANSI 等國際製圖標準。其 Toolbox 擁有全球最齊全的標準齒輪、螺絲與培林資料庫。
  • 龐大的產業生態系:因為市佔率極高,加工廠、模具廠幾乎都能直接讀取 SolidWorks 原生檔(.sldprt)。此外,其 CAE 有限元素分析、流體力學模擬(CFD)等外掛功能非常成熟。

兩者該如何選擇?
選擇 IronCAD 的情境:
  • 非標準化的客製化機械:如自動化產線設計、包裝機械、夾治具設計。這類設計需要頻繁拼湊與搬移組件。
  • 追求開發速度的專案:在標案或概念設計階段,IronCAD 的建模速度通常比 SolidWorks 快上 2 到 3 倍。
  • 公司沒有專職的 CAD 繪圖員:老闆、業務或製程工程師需要親自畫簡單的 3D 圖,IronCAD 的上手門檻極低。
選擇 SolidWorks 的情境:
  • 需要大量重複製造的消費性產品:如手機外殼、家電、精密醫療器材。這類產品需要嚴格的參數連動控管。
  • 求職與外包考量:如果你是機械系學生或想轉職機構工程師,學 SolidWorks 的職缺和接案機會遠多於 IronCAD。
  • 與上下游供應鏈頻繁對接:如果你的客戶、模具廠都使用 SolidWorks,使用同款軟體可以完全避免轉檔帶來的幾何公差與破面問題。

[筆記] Blender vs Solidwork 3D 建模比較


[筆記] Blender vs Solidwork 3D 建模比較 (From AI answer)

BlenderSolidWorks 是兩款截然不同的 3D 軟體,它們的核心技術、設計邏輯和應用產業完全沒有交集。 
簡單來說:Blender 是用來「看」的(視覺藝術),而 SolidWorks 是用來「造」的(工程製造)。 
核心差異快速對比
比較項目 BlenderSolidWorks
軟體定位 3D 動畫與數位內容創作 (DCC) 計算機輔助設計 (CAD)
核心技術 網格建模 (Mesh):編輯點、線、面 參數化實體建模 (Parametric):輸入數值與幾何約束
擅長形狀 有機生物、角色、不規則奇幻造型 機械零件、硬體外殼、精準幾何結構
主要功能 建模、雕刻、材質、動畫、特效、渲染 零件設計、裝配體、2D 工程圖、應力模擬
尺寸精度 視覺比例導向,精確尺寸調整較不直覺 毫米級極高精度,嚴格符合物理尺寸
授權費用 完全免費且開源 商業授權費用昂貴(每年需維護費)

2021年9月16日

[Python] 離線安裝 Python 以及 Python 套件


 離線安裝 Python 以及 Python 套件 (如 openpyxl)

在網路無所不在的21世紀,我從未想過會需要在 "離線 (無網路)" 的狀況下安裝應用程式,但這情境真的發生了!

這篇就讓我來分享離線安裝 Python 以及 Python 套件的過程吧。

Step 1: 下載 Python 安裝軟體

  • 這步驟當然要在一台 "有網路"電腦上進行,而且最好和 "無網路" 的 "目標電腦" 是相同作業系統 (PS: 我個人是如此)。

  • 從 python.org 官網下載 Python 安裝軟體


Step 2: 下載 Python 套件

  • 這步驟和 Step 1 雷同,也就是 - 要在一台有網路電腦上進行,而且是和無網路 的目標電腦有相同的作業系統。

  • 除第一點的需求外,這步驟還有另一個需求,就是 - "有網路的電腦上必須安裝好了 Python 軟體" ,因為接下來的步驟必須依靠 pip 套件來下載其他套件 (如 openpyxl 、numpy、matplotlib、pandas 等等未隨 Python 安裝軟體的套件),然而 pip 套件則是在安裝 Python 軟體時,就會一起安裝好的,所以,進入下步驟前請先將 Python 軟體安裝好以及Python的路徑設定好。

 (PS: Python 3.4 以後的安裝軟體版本,都已包含了 pip 套件)。

  • 透過執行以下 Command 在 Terminal 下載 Python 套件 。

pip download Package-Name 

這裡的 Package-Name 請替換成你要下載的 Python 套件,例如,要利用Python 來 access Excel 檔案,這就必須再額外安裝 openpyxl 套件,上面的 command 就會如下圖,來下載 openpyxl 套件。

  • 這裡再額外提供一個小技巧,就是建立一個目錄來存放你下載 Python 套件,這會方便下一步轉移檔案到無網路的電腦上 。


Step 3: 轉存下載的 Python 安裝軟體以及 Python 套件至 "無網路" 的目標電腦


Step 4: 安裝 Python 安裝軟體以及設定 Python 路徑

  • 在設定 Python 路徑時,請將 script 的路徑也一併加上去,因為 pip.exe 就是放在 script 的目錄下。

C:\Users\...\AppData\Local\Programs\Python\Python37-32\

C:\Users\...\AppData\Local\Programs\Python\Python37-32\Scripts\

  • 可以透過以下 command 測試 Python 路徑是否設定好否

pip --version 


Step 5: 安裝 Python 套件

  • 請透過執行以下 Command 在 Terminal 安裝 Python 套件 。

pip install --no-index --find-links=d:\Download openpyxl 

這裡的 --no-index --find-links ,簡而言之,就是只會去 find-links 所指定的路徑去找你要安裝的套件。

原文說明如下圖。

  •  想進一步了解 pip install 可以參考這連接 pip install usage

  • d:\Download 則是存放你從 "有網路"電腦 搬過來的 Python 套件的路徑,千萬不要照我打 d:\Download 喔!

  •  openpyxl 則是套件的名稱。




2021年7月24日

[Kivy] 在 PyCharm 建立 Kivy 的開發環境


 在挑選配合 Python 的 GUI Framework 時,Qt 和 Kivy 則是在眾多的 Framework candidates 中,最後留下細細研究的兩個 ,經過了開發環境的安裝以及淺嚐 "Hello World”App 的建立後,最最最後~,我決定了 Kivy。

原因如下:

  • MIT License

  • Open Source on GitHub

  • Cross-Platfrom, Kivy App can run on Windows, Linux, OSx, Android, iOS and RaspBerry Pi

  • Built-in OpenGL ES for GPU Accelerated


Kivy - 簡介


What is Kivy ? Kivy Introduction,這些問題我就交給 Kivy 官方網站了!

因為 Kivy  的官網以及它 WiKi上的 Documents 都提供相當多的資訊了,想對 Kivy 有初步的了解,是足夠的。



在 PyCharm 建立 Kivy 的開發環境 (On Windows 10)

Kivy 的開發環境,基本上是建立在 Terminal Mode,對於 IDEs 的開發環境倒是沒有多加說明。在 PyCharm 建立 Kivy 的開發環境,Kivy 雖有說明,我是有看沒有懂啊!於是就將自己的建立過程做了以下紀錄,分享給大家。


Step 1 - 安裝 Python 

首先就是點這連接 Download and Install Python 安裝 Python。


Step 2 - 建立 Virtual Environment (VM) for Kivy


python -m virtualenv kivy_venv


開啟 Windows 的 terminal,然後選定或建立一個資料夾,接著在選定的資料夾下執行上面 Command,來建立 kivy 要使用的 VM。  

以我為例,我是將 PyCharm 要用的 VM 都建立在 PyCharm 的工作目錄下,下圖可以看到我建立了 3 個 VM,分別用於 Kivy,MicroPython 以及 normal python。


下圖則是 Kivy VM 的檔案結構



Step 3 - 激活 Kivy VM  


kivy_venv\Scripts\activate


Kivy VM 建立好後,還不能使用,必須激活 (activate) 它,方法就是在 Kivy VM 的目錄下,執行上面 Command。


Step 4 - 安裝 Kivy  以及範例


python -m pip install kivy[base] kivy_examples


執行上面 Command,就能安裝 Kivy 基礎的 (base) 套件,若想要多安裝其他套件或完整套件,則可以在中括號內,改成 [base, media] 或是 [full]。

通過以上 4 步驟就完成 Kivy Framework 的安裝了,基本上你已經可以在 Terminal 開發 Kivy App 了。

剛才的 Kivy 安裝步驟裡,也包含範例的安裝,執行以下 Command 就能驗證你是否有安裝正確,以及觀看 Kivy GUI 的 Demo 喔!


python kivy_venv\share\kivy-examples\demo\showcase\main.py


PS: 以上 Install Kivy 以及建立 Kivy VM 更詳細的操作步驟,請參考 Kivy.org 的  Installing Kivy 說明網頁。


Step 5 - 在 PyCharm 建立 Kivy 專案 (Project)  

  1. 打開 Pycharm 後,請點選 File ->  New Project 來建立新專案。

  2. 接著在建立新專案視窗 ,如下圖紅色框,選擇 “Existing interpreter”,其x路徑就是你在 Step 2 建立 Kivy VM 下 python.exe 存在的目錄路徑。


  1. 順利完成新專案的建立後,點選 File -> Settings > Project  ,應該就能看到和下圖一樣是使用 Kivy VM 的設定了。


Step 6 - Copy & Paste then Run HelloWorld.py App

在還不了解如何撰寫 Kivy App 前,可以複製貼上,下面 “Hello World”的範例原始程式碼,來驗證 Kivy 在 PyCham 的執行環境。


'''

Application example using build() + return

==========================================


An application can be built if you return a widget on build(), or if you set

self.root.

'''


import kivy

kivy.require('1.0.7')


from kivy.app import App

from kivy.uix.button import Button



class TestApp(App):


    def build(self):

        # return a Button() as a root widget

        return Button(text='hello world')



if __name__ == '__main__':

    TestApp().run()


順利的話,你應該能看到和下圖一樣的結果。






 


熱門文章