壓寶計劃的環境介紹

 使用專用軟體

工作室剛運行的時候,採購專用軟體及它可使用的系統花了一筆不少的費用。後續軟體的維護費持續的增加之中,如果沒有客戶的支持,可能在第二年就要結束。專用的軟體在世面上流通的很少,而用於壓力容器設計的專用軟體更少;在各國設計壓力容器的專用軟體的數量曲指可數。所以在創業初期投資在它身上可以獲得不錯的利益。當然有些人士會認為軟體使用非正當方式取得就好,甚至以為計算書的內容用非法手段取得就好,不需要購買正式的版權軟體。但是在提供正式的壓力容器/ 桶槽的設計計算文件服務時,可以確認其內容可以供專業人士信賴是基本要求。就市場上的競爭方面,也可以保護自己,尤其是對手使用法律或是版權使用規範去攻擊其文件的合法性時,採購正版的軟體可以免除這方面的麻煩。

然而在專用軟體可提供的計算文件之外,其他要驗證的機件、結構或是其他計算,有什麼工具好使用呢?我們以下介紹壓寶計劃使用的軟體及環境。

自由軟體的應用

《壓寶計劃的作業環境》 中有列出我們所使用的工具,有專用軟體如 PVElite 、 AutoCAD 等,也展現出其使用的作業系統等更全面性的介紹。其內容會依壓寶計劃進行的狀態而調整。

作業系統

依作業系統的支援,因為要安裝專用軟體所以有 MS Windows ,在此之外,大部份的環境是在 Debian/ Linux 的系統上開發和使用。在組織外部需要使用壓寶計劃的相關工具,則經由網路連回組織內的主機進行運算。使用 Debian/ Linux 主要的原因是穩定,而且套件管理使用 APT 系統,安裝及升級的部份相對簡單。其官網在這 Debian 通用作業系統

軟體研發

說到軟體開發,我們使用 common lisp , SBCL。這是一個相對冷門的程式語言,而且常有人問為何要用它開發程式?簡單的回答是因為壓力容器設計沒有很多軟體工具,所以必需自己開發,然而是自己開發的話,使用自己喜歡的程式語言會比較合適。對於 common lisp 比較詳細的介紹,可以看看《駭客與畫家》或是 《WHAT MADE LISP DIFFERENT》。目標是在網際網路上放上壓寶計劃系統。以下是用 common lisp 作為網站程式開發的介面。

Arduino UNO 網路控制介面

 


 自底向上的開發模式: 從簡單易懂的切入點開始。

 
長度單位換算 common lisp 套件開發網頁程式

以單位換算的函數開始一步一步增加工具的實用性,並維持正確性。


 

排版系統

壓寶計劃: 計算書文件的排版工具 》 中有介紹我們使用的排版系統,主要是 LaTeX 的使用。使用 LaTeX 排版是因為它可以應用版本控制。版本控制我們使用 git 系統,它可以使用網路分散作業,以及可以分支作業。Git 是一個 免費和開源 的 分佈式版本控制系統旨在處理從小型到 速度和效率非常大的項目。官網 Git 。有個小知識是 Git 和 Linux 的作者都是 Linus Torvalds

 工程計算

設計壓力容器計算工具介紹 》,直接以 Maxiam 作為首先介紹的工具。 Maxima wiki 有列出

它的能力

  • 符號運算(含一定的推理能力)
  • 各種基礎數學函式庫
  • 複數和任意精度(use "bfloats")計算(只受記憶體限制)
  • 利用 gnuplot 進行2維及3維函式繪圖
  • 可編程
  • 可計算文件,支援插入,標題單元,章節單元,備註,輸入單元,文字單元,圖片
  • 生成 LaTeX 格式的數學式
  • 方便的載入 Common Lisp 語言或 Maxima 本身的語言寫成的 Package
  • 基於符號而不只是數值的微積分運算
  • 矩陣運算
  • 函式展開化簡縮併
  • 上千頁的手冊

其實重點只有三個,1. 它可編程。2. 它可以生成 LaTeX 的數學式。3. 它是 Common lisp 寫成的。

文件編輯器/ 系統

Emacs 這個軟體一開始是用來作文件編輯器使用的。但是它的工作不只於此。因為它有一個 Slime 模組可以成為 common lisp  的 repl 介面。 提供 GNU Emacs 網址,它會說明 Emacs 是用一種稱為 Emacs Lisp 作為擴展的文件編輯器。它整合了上述各種工具,使我們不需要離開 Emacs 就可以進行 Maxima 、 LaTeX 、 SBCL (common lisp) 程式開發以及使用 git 進行版本控制。與其說它是文件編輯器,不如認為它是一個整合好的系統開發環境。例如以下畫面

計算書製作-壓力容器容積計算

 


 它就是在 Emacs 下,使用各種擴展及模組進行此計劃的工具開發。在開發過程之中我們也使用 Emacs org-mode 作為紀錄及製作說明文件。 請見 Org mode  的介紹

串連工作/ 自動執行

壓寶計劃應用上述工具,在 Debian/ Linux 的環境之下,使用 Emacs 可以將各項開發工作串連在相同的系統操作之下。並且可以利用 Emacs org-mode 記錄開發過程及備註事項。使用 Unix like 的開發流程,讓我們得以有效率的獲得自由軟體開發者的貢獻。使用 REPL 的模式下,讓我們可以很快的取得結果,加快程式寫作的速度。在開源碼且正式授權下自由使用及開發各項自己所需的工具。如果在 MS Windows 環境下,我們使用 Cygwin  MSYS2 得到類似的支持。 作為開發者使用這些工具,及撰寫自動化執行的腳本,認為對系統開發會得到很大的幫助。 

無論是壓力容器設計專用軟體的採購,特殊要求的程式設置及開發,自從業以來產生種種奇特的經歷沒有能在一段文章說完整,下次會把詳細的狀況告訴大家。如果有任何議題或是意見請聯絡我們,大家一起分享討論。


各申機械設計工作室; Each Application Mechanical Design Studio

壓力容器設計 各申機械設計工作室

留言