二次開發vba 二次開發在尺寸優化中的應用

2021-10-14 18:25:28 字數 2228 閱讀 1667

在進行靈敏度分析及尺寸引數優化分析過程中,需要對車身多達幾百個部件進行建立設計變數(design variable),並將設計變數與屬性進行關聯(design variable property relationship)。同時,對於對稱的零部件還需要建立設計變數的關聯(design variable link)。如果是手動進行上述工作,需要重複操作幾百次上述過程,這個工作量是十分繁重的,並且還容易引入人為錯誤。應用基於tcl語言的二次開發,對上述過程進行程式化操作,只需要簡單的幾步操作即可完成。使一兩天的工作任務量在幾分鐘就可以快速完成,並避免引入人為操作錯誤。

整個過程的基本流程是:1.準備需要建立尺寸引數優化設計的資訊**(包括部件名稱、部件id、部件屬性名稱、部件屬性id、初始料厚、設計上下限、材料名稱、材料id,部件質量等等);2.執行指令碼讀取資訊表完成前處理設定;3.進行優化求解;4.視覺化後處理。

通常整車有限元分析計算模型的建立是根據部件bom表來完成部件自動命名的,包括零部件名稱編號,材料牌號,料厚資訊等。如果在建模過程中是完全依照bom表進行規範化操作的,只需要拿到bom表即可進行後續的操作。如果在建模過程中沒有和bom表進行關聯,可以按照本文中的操作方法進行簡單的操作即可。

1、準備零部件資訊表:在hypermesh軟體中,model→component view→(rmb)→export→csv,匯出csv格式資訊檔案。

第1列:flag 建立設計變數關聯的標籤,不建立則為「no」,建立設計變數關聯的兩個部件用相同的數字標識,如1、2;

第2列:comp_name 部件名稱;

第3列:comp_id 部件id號;

第4列:prop_name 部件屬性名稱;

第5列:prop_id 部件屬性id號;

第6列:initialvalue 部件初始料厚;

第7列:lowerbound 部件料厚下限;

第8列:upperbound 部件料厚上限;

第9列:mat 部件材料名稱;

第10列:mat_id 部件材料id號;

第11列:mass 部件質量。

由於需要將左右對稱件建立設計變數關聯,使其具有相同的設計變數屬性(料厚),因此需要對設計變數表中的部件進行篩選,將需要建立設計變數關聯的進行編號(建立flag)。根據bom表中部件名稱及編號,識別匯出的csv檔案中部件的名稱,將相同部件(左右對稱件)進行編號,編號順序從1開始並順延。不需要建立設計變數關聯的flag填「no」(這一過程需要使用vba巨集命令程式來完成)。

下限excel函式:if(i2*0.5<0.7,0.7,round((i2*0.5)-0.05,1))

上限excel函式:round(i2*1.5,1)

二:執行指令碼完成所有優化分析設定

三:進行求解

四:視覺化後處理

對靈敏度分析結果進行檢視篩選,曬選出靈敏度高的部件

postek二次開發 POSTEK二次開發介面

例項簡介 例項截圖 核心 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using ...

mcms二次開發 YzmCMS二次開發手冊

摘要 yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有一.yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口...

mcms二次開發 YzmCMS二次開發手冊

yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口。一 基本目錄結構.根目錄 cache 快取目錄 必須可寫入 common 全站公共目錄 必須可寫入 uploads 預設上傳目錄 必須可寫入 yz...