發表文章

工程案件溝通用的圖形

圖片
UML: 統一塑模語言( wiki )  UML 這個被電體軟體開發放棄的方式。在以前人們瘋狂的想要類比機械開發的方式,設計一個圖像和共同開發的工程師說明軟體的功能和流程。然後希望可以把開發案發包出去,等著驗收。如資料庫的實體關係圖、流程圖、序列圖或甘特圖之類的圖被引入用來說明軟體的目標及重點。後來因為太麻煩了,而且又因為需求因時因地不斷的修改變化,所以軟體開發的進程要像工程案一般的推進有很大的難度。而軟體開發上不好用不代表機械工程開發案上不好用。 ASME 壓力容器開發序列圖 機械構件設計上需要管制及計算開發需求的以危險性設備為主,如鍋爐或是壓力容器。它們不若如機械零件的繪制、加工及檢收流程;因為其設備的失效對於使用者及廠家會造成生命或財產的損失。如何了解業主與製造廠及工安管理單位的相關責任及案子管控流程,使用 UML 圖形說明可以比較直觀的詮釋工程案的進度及方向。以上圖為例,壓力容器的開發並非瀑布式的一路從合約談定到出貨為止,而是在各業務單位中進行需求確認及反饋。從大到壓力容器設備的設計需求到承壓件的強度計算,需要多方確認及驗證。 壓力容器設計流程圖   如何能夠讓使用者了解機械設計的程序,與其口沬橫飛的說明,還不如一張流程圖來說明。圖形說明是超越文字語言用來加強案件重點的工具之一,就如同一張機械零件設計圖,可以讓加工者或是發案方可以用來記錄、討論和驗收之用。 管嘴方位的工程圖 用於溝通使用的圖形 甘特圖-1   甘特圖-2 使用甘特圖可以強調案子安排的時程。    避免泥沼 圖形工具可以使主案雙方可以方便溝通需求,然而如果像是軟體工程開發陷入圖形解釋的泥沼的話就大可不必。看得懂講得通比較重要,因為大家都是要把案件完成而不是文件寫作大賽。如果一種方式不行可以換另一種方式溝通。在工程案中言語文字是用來解決間題的,而適當的圖形輔助可以達到更好的階段。

如何準備使用者設計需求/UDR

圖片
  以人、事、時、地、物分類壓力容器使用者設計需求 人 壓力容器的所有者或使用者 事 容器的用途  壓力容器的操作條件 內容設計壓力及外部設計壓力 是否需要計算 MAWP 或者指定使用設計壓力和設計溫度 (MAWP: Maximum Allowable Working Pressure; 最大予許工作壓力)   顯示各種情況下的 MDMT 和基礎。 (MDMT: Minimum design metal temperature ; 最低設計金屬溫度) 顯示任何適用的防火訊息 指示其使用的負載型式 過壓保護的要求 任何的隔熱訊息 提供任何附加訊息   登錄和認證 美國國家委員會的註冊要求 加拿大的註用要求   時 容器的使用年限 容器的腐蝕裕度 塗裝規範 如果該設備有循環作業,疲勞分析是必需的 顯示一般訊息為壓力循環、熱力循環等任何其他所需訊息 地 容器安裝的位置 風力負載訊息 地震力負載訊息 物 部件的材料 管嘴訊息;列出所有開口 顯示殼板厚度確定接頭效率的要求 顯示端板厚度確定接頭效率的要求   指明每個接頭型式需要的 NDE (NDE: Nuclear Engineering Division; 非破壞性評價)    顯示本體法蘭訊息 提供一個草圖及其尺寸 壓力容器使用者設計需求表內容說明 由於使用者設計需求表的內容為專業需求,為危險性設備設計文件。如果要了解更深入的資訊,請與各申機械設計工作室聯絡。   UDR  :   壓力容器使用者設計需求 User's design requirements for pressure vessels    

橢圓形端板的算法比較/ Comparison of algorithms for elliptical end plates

圖片
橢圓形端板的算法比較/ Comparison of algorithms for elliptical end plates Table of Contents 1. 端板設計參數說明 1.1. Maxima 原始碼 2. 橢圓形端板公式 2.1. Maxima 原始碼 3. 碟形端板公式 3.1. Maxima 原始碼 4. 2:1 橢圓形端板與近似半橢圓形端板的計算結果 5. 授權條款/ License 1. 端板設計參數說明 P : 設計內壓, MPa D : 端板內徑, mm h : 橢圓形端板內部短徑的一半, mm S : 端板材料在設計溫度下的容許應力, N/mm 2 E : 端板之焊接係數 R : 碟形端板內球面或頂冠的半徑, mm r0 : 端板彎折處的半徑, mm ; r0 >= 0.06*(D+2t) , r0 >= 3t (JIS B 8265, E.3) t : 端板成形後最小需要的厚度, mm Figure 1: 橢圓形端板示意圖 Figure 2: 碟形端板示意圖 1.1. Maxima 原始碼 /* 端板參數 */ P : 1 . 0; D : 1230 . 0; h : 307 . 5; S : 138 . 0; E : 0 . 85; /* 2:1 近似半橢圓形端板 */ R : D * 0 . 9045; r0 : D * 0 . 1727; 2. 橢圓形端板公式 使用 JIS B 8265 E.3.4,內徑基準 2.1. Maxima 原始碼 /* 橢圓形端板內壓計算, JIS B 8265 E.3.4, 內徑基準 */ thickness_elliptical ( P,D...

autolisp 青黃交接的時代

圖片
 現在的程式交給過去的軟體執行 autolisp 是一個 autocad 長期支援的開發程式,把以前寫過的程式通常可以拿到新版的 autocad 上執行;相對的把現在寫的程式以之前的版本執行應該也沒有什麼問題。但是在 autocad 版本 2020 之後會發現出現一些問題,因為其之後的 autolisp 支援了 Unicode 字碼,而現在的文字編輯器或是 Visual Studio Code 預設的字碼就是 Unicode ,所以也沒有什麼問題。然而在 autocad 2020 之前的 autolisp 只支援 ASCII ,所以用現在的開發工具寫的程式交給以前的版本執行時,會造成亂碼或是無法執行 的問題。 過去的程式交給現在的軟體執行 由於字碼支援了 Unicode 後, (strlen ...) 函數計算字數時,中文字碼計算由每一個中文字 2 字節,改為每一個中文字 1 字節。這造成了有些應用到這個函數的程式獲得的結果與從前的不同。 如何解決 autolisp 中文亂碼的問題 單一使用支援某一個字碼。設定  lispsys 系統變數為 AutoLISP 原始 (LSP) 檔在儲存並編譯時會使用 ASCII (MBCS) 字元集。) 使用支援 Unicode 字碼版本的軟體。 將 autolisp 檔案  .lsp 使用 Big5 字碼用於舊版的 autocad 。例如在程式開頭加上 ;;;; -*- encoding:big5 -*- 。  如何解決 strlen 數字數的問題 可以借用  《Autocad/ BricsCAD 的 autolisp 支援了 UTF-8》 中提到的 (cs-to-strlen ...)來處理舊的程式,以適應新的變化。       壓力容器設計 各申機械設計工作室  

影像量測: 大霸尖山

圖片
自動取得點雲 使用影像量測軟體 Colmap 除了用圖形介面操作之外,也可以用腳本的方式代入參數。在類似的流程下,使用腳本可以縮短操作時間;我們可以把時間花在需要更專注的工作上。在沒有 GPU 支援的 Linux 電腦中,我們可以使用 PMVS2/CMVS 模組以計算點雲的數據, 詳情請參考  COLMAP: Tutorial 。 大霸尖山的模型製作流程 我們在使用影像量測時,需求使用清晰的照片。如果像是山體這麼大的物件,可以使用航空器上的攝影機取得所需的影像。以前的航照系統只有專業的團隊可以使用,無論是飛機駕駛或是專用的攝影機操作等等。而現今無人機的進展快速,其配備的攝影鏡頭也持續的進步。以下的大霸尖山的 3D 立體模形是採用無人機上的攝影機錄下的影片,再以 ffmpeg 軟體分出影格之後送入 Colmap 取得點雲檔案。最後再以 meshlab 這個程式把點雲檔案整理後轉成網格檔 (.ply) 。之後可以使用 Blender 等 3D 軟體加以利用。         壓力容器設計 各申機械設計工作室