SimSolid JavaScriptリファレンス

このドキュメントは、JavaScriptを使用してプログラムによりSimSolidを操作するための包括的なガイドです。利用可能なオブジェクト、その属性、および関数について詳細に説明し、SimSolidワークフローの自動化に役立つわかりやすい例も示しています。

1.グローバルオブジェクト

グローバルオブジェクトは、アプリケーション全体の情報とコントロールを管理するための中心的なハブとして機能します。実行状況やエラー処理など、SimSolidアプリケーションの中核的な状態とやりとりする方法を提供します。

関数

グローバルオブジェクトの主要な関数としてerrorCodeがあります。これは診断や、スクリプトの実行の成否を伝えるために使用されます。このオブジェクトは、エラーを適切に処理したり、解析プロセスに関する有意義なフィードバックを提供することが可能で、堅牢なスクリプトを記述する上で不可欠です。

errorCode
  • 整数
  • この関数はSimSolid.exeプロセスの終了コードを表す整数を返します。通常、0の値は実行が成功したことを示します。

例:

(バッチスクリプト/コマンドプロンプトでの終了コードのチェック)
// check if any disconnected groups of parts
if (!study.hasDisconnectedGroupsOfParts())
{
    // ... (rest of the analysis setup)
}
else
this.errorCode = 1; // error code if disconnected groups of parts
解析を進める前に、このif文はメインアセンブリに結合されていないパートやパートグループがあるかどうかをチェックします。
!study.hasDisconnectedGroupsOfParts()
この条件が真であれば(つまり、未結合のグループがない)、スクリプトはモーダル解析のセットアップと実行に進みます。
this.errorCode = 1
未結合グループが見つかった場合、未結合モデルは結果が不正確だったり解析を実行できないため、エラーコード1をセットして解析をスキップします。

JavaScriptでは、この属性は主にSimSolidのコンテキスト内でスクリプトが実行された後の診断の目的で使用されます。

2.プロジェクトオブジェクト

プロジェクトオブジェクトでは、プロジェクトのグローバル設定を管理できます。

関数

setDefaultUnits
  • プロジェクト全体で使用するデフォルトの単位を設定します
  • 一貫性を保つことができ、個々の操作ごとに単位を繰り返し指定する必要がなくなります
パラメータ:
1.
名前 タイプ 指定できる値 デフォルト値
length 文字列 ‘mm’、‘cm’、‘m’、‘in’ ‘mm’
angle 文字列 ‘deg’、‘rad’ ‘deg’
force 文字列 'N'、'lbf'、'kip' 'N'
moment 文字列 'N*m'、'N*mm'、'lbf*in' 'N*m'
例:
// Set default units for the project 
Project.setDefaultUnits
({ 
length: 'cm', 
force: 'N' 
});
addDesignStudy
  • CADファイルからジオメトリをインポートすることにより、新しい設計スタディを作成し、設計スタディオブジェクトを返します
パラメータ:
2.
名前 タイプ 指定できる値 デフォルト値
file 文字列 CADファイルへのパス
reader 文字列 ‘parasolid’, ‘ct’, 'parasolid+spatial' ‘parasolid’
resolution 文字列 ‘standard’、‘enhanced’、‘fine’、‘custom’ ‘standard’
geomType 文字列 'solids+skins', 'solids', 'skins' 'solids+skins'
angularDev 数値 15.0(deg)
chordalDev 数値 0.635(mm)
units オブジェクト setDefaultUnitsと同じ プロジェクトレベルから取得
例:
// create a new design study
var study = Project.addDesignStudy({
		file: 'D:/Batch mode/Modal_Analysis/Pullup bar V1.step',
		reader: ‘ct’, //ct is the SimSolid legacy reader
		resolution: 'custom',
		angularDev: 12,
		chordalDev: 0.5,
		units: { length: 'cm', force: ‘N’ } });
save
  • プロジェクトを.ssp形式で保存し、失敗した場合はfalseを返します
パラメータ:
3.
名前 タイプ 指定できる値 デフォルト値
file 文字列 .sspファイルへのパス。 NA
構文:
Project.save ({ file: ‘<File_path>/<File_name>.ssp' });
open
  • 既存の.sspを開きます
  • 失敗するとfalseを返します
パラメータ:
名前 タイプ 指定できる値 デフォルト値
file 文字列 .sspファイルへのパス。 NA
構文:
Project.open ({ file: ‘<File_path>/<File_name>.ssp' });
initializeSolutions
  • すべての解法と応答メッシュを削除します
構文:
Project.initializeSolutions();
solveAllAnalyses
  • すべての解析を解決します
構文:
Project.solveAllAnalyses();
getDesignStudies
  • すべての設計スタディオブジェクトのコレクションを返します
構文:
Project.getDesignStudies())
例:
// open project
Project.open({ file: D:/Batchmode/ fin2.ssp});
//Set number of logical cores for the solution
Project.setOptions({ numOfCoresToUse: 12 }); // Adjust to your desired number of cores
// run specific analysis
var analysisSpecific = null;
for (var study of Project.getDesignStudies()) {
if (study.getName() == 'Design study 1') { // Specify the exact name of your design study
              	for (var analysis of study.getAnalyses()) {
                     	if (analysis.getName() == 'Modal 1') { // Specify the exact name of your analysis
                           	analysisSpecific = analysis;
                          	break;
                     	}
              	}
              	break;
       	}
}
if (analysisSpecific) {
       	analysisSpecific.solve(); // Solve the identified specific analysis
} else { // Optional: Add logging or error handling if the specified analysis is not found 
Log.write ('Error: Specified design study or analysis not found.'); 
}
// save project
Project.save({ file: '%1%_solved.ssp'});
上記スクリプトは、一連のアクション(SSPファイルを開く、Design study 1でModal 1の解析を実行、元のファイル名に_solvedを付加してSSPを保存する)を実行します。
setOptions
  • 解法に使用するコア数を選ぶためのオプションを設定します
パラメータ:
名前 タイプ 指定できる値 デフォルト値
numOfCoresToUse 数値 利用可能なすべてのコア
構文:
//Set number of logical cores for the solution
Project.setOptions({ numOfCoresToUse: 12 });

3.設計スタディオブジェクト

設計スタディオブジェクトは、SimSolidの現在の解析スタディを示します。材料の適用、結合の定義、荷重や境界条件の設定など、シミュレーションのさまざまな側面を定義および修正する機能を提供します。

関数

applyMaterial
現在の設計スタディ内の1つまたは複数のパートに指定された材料を適用します。
パラメータ:
4.
名前 タイプ 指定できる値 デフォルト値
material 文字列 SimSolidで定義された材料の名前 NA
partNameMask 文字列 ワイルドカードパターン(例:'Part 1'、'*plate*'、'*') ‘*’
partNameMaskDelimiter 文字列 任意の一文字(例:',' ';' ') ','
注:
  • 材料がSimSolid材料ライブラリですでに利用可能か、プロジェクト内で定義されていることを確認してください。
  • マスク(パターン)は、材料が適用されるパートを識別するために使用されます。ワイルドカード文字(*)が使用できます。*を使用するとすべてのパートに適用されます。
  • 区切り文字を使用すると、特定のパートセットに材料を適用する際に、複数のpartNameMaskエントリを区切ることができます。デフォルトでは、コンマ(,)が使用されます。
例:
  1. 共通の材料を、アセンブリ内のすべてのパートに適用する
    study.applyMaterial({
    		material: 'Aluminum',
    		partNameMask: '*' });
  2. 別の材料を、アセンブリ内のパートに適用する
    // Apply 'Steel' to a part exactly named 'plate 1' 
    study.applyMaterial({ 
    material: 'Steel', 
    partNameMask: 'plate 1' 
    }); 
    
    // Apply 'Rubber' to parts named 'plate 2' and 'plate 4' 
    // The default delimiter (comma) is used here. 
    study.applyMaterial({ 
    material: 'Rubber', 
    partNameMask: 'plate 2, plate 4' 
    }); 
    
    // Apply 'Nickel' to parts named 'plate 3' and 'plate 5' 
    // Explicitly setting the delimiter, though not strictly necessary here as it's the default. study.applyMaterial({ 
    material: 'Nickel', 
    partNameMask: 'plate 3, plate 5', 
    partNameMaskDelimiter: ',' 
    });
ヒント:
  • 大文字と小文字を区別:SimSolidパート名は通常、大文字と小文字が区別されます。partNameMaskがアセンブリツリー内のパート名の大文字小文字と完全に一致していることを確認してください。
  • ワイルドカードの使用:

    'Part*'は、'Part A'、'Part B'、'Particle'にマッチします。

    '*Bolt*'は、'Front Bolt'、'Bolt 123'、'Hex Bolt'にマッチします。

    'Plate 1'は、'Plate 1'という名前と正確にマッチするパートのみにマッチします。

  • 材料ライブラリ:applyMaterialを使用する前に、指定された材料名がSimSolid材料ライブラリに存在することを確認してください。
addConnections
すべてのパート間で自動的に標準結合を作成します
パラメータ:
5.
名前 タイプ 指定できる値 デフォルト値
gap 数値 任意の正の数値 ジオメトリに基づいて計算
penetration 数値 任意の正の数値 ジオメトリに基づいて計算
resolution 文字列 ‘normal’、‘increased’、‘high’ ‘normal’
units オブジェクト setDefaultUnitsと同じ プロジェクトレベルから取得
説明:
  • ギャップと貫通:結合するフェイス間の許容可能な最大ギャップまたはオーバーラップを定義します。SimSolidは、これを自動計算しますが、パートが期待どおりに結合されない場合や、不要な結合が生じる場合は調整します。
  • 解像度:結合検出の感度を制御します。設定を高くすると(Increased、High)、より微妙な結合を見つけますが、処理時間が長くなります。Normalはほとんどのケースに適しており、Highは細かいジオメトリや複雑なジオメトリに適しています。
  • 単位:ギャップと貫通のパラメータの単位を指定します。主にlengthプロパティを使用します。指定がない場合は、プロジェクトレベルの長さ単位が使用されます。使用可能な単位プロパティについては、setDefaultUnitsドキュメントを参照してください。
例:
// Automatically find all connections 
study.addConnections({ 
gap: 0.1 
penetration: 0.2
resolution: 'normal',
units: { length: 'mm' } });
ヒント:
  • 結合の確認:addConnectionsを実行した後は、SimSolidユーザーインターフェースで作成された結合を必ず確認してください。
  • 結合不足時のパラメータ調整:期待される結合が形成されていないことに気づいたら、以下を検討してください。
    • ギャップの増加:パートがわずかに離れている場合。
    • 貫通量の増加:パートが少しオーバーラップしている場合。
    • 解像度をIncreasedまたはHighに設定:フィーチャが非常に小さかったり、インターフェースが複雑な場合のみ解像度を上げてください。解像度が高くなると処理時間が長くなりますのでご注意ください。
  • 単位の一貫性:特にギャップと貫通の値を手動で指定する場合は、使用する単位に注意してください。単位がモデルのジオメトリと単位パラメータと一致していることを確認します。
hasDisconnectedGroupsOfParts
未結合のパートグループが複数あるかどうかを確認します。
構文:
study.hasDisconnectedGroupsOfParts()

例:

モーダル解析を実行する前に、未結合グループがないか確認します。

この例は、一般的な使用例を示しています。hasDisconnectedGroupsOfPartsを条件チェックとして使用し、モーダル解析を続行する前に確認します。パートが未結合の場合、モーダル解析が誤って剛体モードを表示したり、解析に失敗したりする可能性があります。
// Check if there are any disconnected groups of parts 
if (!study.hasDisconnectedGroupsOfParts()) { 
// If no disconnected groups are found (i.e., returns false), proceed with analysis setup 
// Create a modal analysis object with 9 modes to find 
var analysis = study.addModalAnalysis({ numOfModes: 9 }); 
// Set global and local solution settings for the analysis 
analysis.setSolutionSettings({ 
adaptation: 'global+local', // Define the solution adaptation method 
}); 
// Add a specific solution settings group for parts matching 'PLATE*' 
analysis.addSolutionSettingsGroup({ 
partNameMask: 'PLATE*', // Apply these settings to parts whose names start with 
'PLATE'
adaptToFeatures: true, // Enable adaptation around geometric features 
adaptToThinSolids: true, // Enable adaptation for thin-solid geometries 
refinement: 'standard' // Set refinement level to standard 
}); 
// Attempt to solve the analysis 
if (analysis.solve()) { 
// If the analysis solves successfully 
// Import a set of datum points from a CSV file 
var datumPointSet = study.addDatumPointSet({ 
file: 'D:/Batch mode/Modal_Analysis/DatumPoints_Bar.csv', 
units: { length: 'mm' } // Specify units for the imported points 
}); 
// Export analysis results to a UNV file 
analysis.exportToUNV({ 
file: 'D:/Batch mode/Modal_Analysis/DatumPoints_Bar.unv', 
datumPointSet: datumPointSet // Include the imported datum points in the export }); 
// Save the current project state to an .ssp file 
Project.save({ 
file: 'D:/Batch mode/Modal_Analysis/Pullup bar.ssp' 
}); 
} else {
// If analysis fails to solve this.errorCode = 2; // Custom error code indicating analysis
 failure 
} 
}else { 
// If disconnected groups are found (i.e., returns true) 
this.errorCode = 1; // Custom error code indicating disconnected parts issue 
}
ヒント:
  • プレ解析チェック:バッチスクリプトまたは自動化ワークフローには、重要なプレ解析チェックとして、常にhasDisconnectedGroupsOfPartsを含めてください。これによって、結合に問題があり、定義が根本的に誤っているモデルに対する計算時間の無駄を防ぐことができます。
  • 未結合のトラブルシューティング:hasDisconnectedGroupsOfPartsがtrueを返した場合は、結合に問題があることを示しています。以下の対応が必要です。
    • SimSolid GUIでの結合確認:アセンブリと結合の表示を目視点検してください。
    • addConnectionsパラメータの調整:結合の自動生成にaddConnectionsを使用している場合、欠落している結合を取得するためにgap、penetration、またはresolutionを変更してみてください。
  • エラー処理:この例では、errorCodeを使用して、未結合のグループが見つかったかどうか、または解析に失敗したかどうかを示しています。自動化されたワークフローでは、堅牢なエラー処理の実装が不可欠です。
addModalAnalysis
  • 新しいモーダル解析を作成します
  • 解析オブジェクトを返します
パラメータ:
6.
名前 タイプ 指定できる値 デフォルト値
numOfModes 数値
構文:
// create a modal analysis
	var analysis = study.addModalAnalysis({ numOfModes: 9 });
addDatumPointSet
.csvファイルからデータム点をインポートし、データム点セットオブジェクトを返します
パラメータ:
7.
名前 タイプ 指定できる値 デフォルト値
file 文字列 CSVファイルへのパス
units オブジェクト setDefaultUnitsと同じ プロジェクトレベルから取得
構文:
// import datum points
		var datumPointSet = study.addDatumPointSet({
file: ‘<File_path>/<File_name>.csv',
			units: {length: 'mm'} });
addStructuralAnalysis
新しい構造解析を作成し、解析オブジェクトを返します
パラメータ:
8.
名前 タイプ 指定できる値 デフォルト値
type 文字列 'multiload'
構文:
// create a multi-loadcase structural analysis
var analysis = study.addStructuralAnalysis({ type: 'multiload' });
getName
  • 設計スタディの名前を返します
  • 主に、特定の設計スタディや解析を解決する場合に使用されます。
getAnalyses
  • すべての解析オブジェクトのコレクションを返します
  • 特定の設計スタディのすべての解析を収集するのに役立ちます。

例:

このスクリプトは、getNamegetAnalysisのAPIを使用して、指定された設計スタディ内の特定の解析に的を絞って解析する方法を示しています。
// open project
Project.open({ file: D:/Batchmode/ fin2.ssp});
//Set number of logical cores for the solution
Project.setOptions({ numOfCoresToUse: 12 }); // Adjust to your desired number of cores
// run specific analysis
var analysisSpecific = null;
for (var study of Project.getDesignStudies()) {
if (study.getName() == 'Design study 1') { // Specify the exact name of your design study
              	for (var analysis of study.getAnalyses()) {
                     	if (analysis.getName() == 'Modal 1') { // Specify the exact name of your analysis
                           	analysisSpecific = analysis;
                          	break;
                     	}
              	}
              	break;
       	}
}
if (analysisSpecific) {
       	analysisSpecific.solve(); // Solve the identified specific analysis
} else { // Optional: Add logging or error handling if the specified analysis is not found 
Log.write ('Error: Specified design study or analysis not found.'); 
}
// save project
Project.save({ file: '%1%_solved.ssp'});

上記スクリプトは、一連のアクション(つまり、SSPファイルを開く、Design study 1でModal 1の解析を実行、元のファイル名に_solvedを付加してSSPを保存する)を実行します。

addGravityLoad
複数荷重ケースの構造解析において、特定の荷重ケースに重力荷重を適用します。

例:

このスクリプトは、複数荷重ケース解析で、荷重ケースに対して重量荷重を3つの方法で適用する方法を示しています。
  1. 重量荷重を荷重ケースに直接加えます。
  2. 荷重ケース名による解析を通じて、荷重ケースに重力荷重を加えます。
  3. 荷重ケースを名前で検索し、その荷重ケースに重力荷重を加えます。
// create a new design study
var study = Project.addDesignStudy({
	file: 'C:/Users/Batchmode/Pullup bar V1.x_t',
	reader: 'parasolid',
	resolution: 'standard'
	});
// apply material to all parts
study.applyMaterial({
	material: 'Steel',
	partNameMask: '*' });
	//partNameMask:


// find all connections automatically
study.addConnections({
	resolution: 'normal',
	//units: { length: 'mm' } 
	});
	
// take the first design study
//var study = Project.getDesignStudies()[0];

// create a new multi-load analysis
var analysis = study.addStructuralAnalysis({ type: 'multiload'});

// set global+local solution settings
	analysis.setSolutionSettings({
		adaptation: 'global+local',
	});

// create a new load case 1
var loadCase = analysis.addLoadCase();


// Option 1 - add a gravity load to the load case directly
loadCase.addGravityLoad({ direction: [0.2, 0.5, 0], factor: 10 });

// add constraint and loads
analysis.importSpotDisplacements({ file: 'C:/Users/Batchmode/spot_displacement.csv'});
analysis.importRemoteLoads({ file: 'C:/Users/Batchmode/import_loads.csv'});
 
// Option 2 - add a gravity load to the load case via analysis by load case name
analysis.addGravityLoad({ direction: [0.5, 0.5, 0], factor: 4, loadCaseName: 'Vertical' });
analysis.addGravityLoad({ direction: [0.5, 0.6, 0], factor: 8, loadCaseName: 'Horizontal' }); 


// Option 3 - find the load case by the name and add a gravity load to that load case
for (var loadCase of analysis.getLoadCases()) {
	if (loadCase.getName() == 'Vertical_right')
		loadCase.addGravityLoad({ direction: [0, 0, -1], factor: 2 });
}
for (var loadCase of analysis.getLoadCases()) {
	if (loadCase.getName() == 'Horizontal_Right')
		loadCase.addGravityLoad({ direction: [0, 0, 1], factor: 3 });
}

// solve
	if (analysis.solve())
	{
		//import datum points
		var datumPointSet = study.addDatumPointSet({
		file: 'C:/Users/Batchmode/DatumPoints_Bar.csv',
			units: {length: 'mm'}
			});
	
			
			analysis.exportToCSV({
               file: 'C:/Users/Batchmode/gravity_test_result_datum_points.csv' , datumPointSet: datumPointSet});
			   
		Project.exportToCSV({ file: 'C:/Users/Batchmode/gravity_export_results.csv', maxVonMises: true, maxDisplacement: true }); 

		Project.save({ file: 'C:/Users/Batchmode/Pullup_bar_gravity_results.ssp' });
	}
	else
		this.errorCode = 2; // error code if analysis fails
getDatumPointSets
すべてのデータム点セットオブジェクトのコレクションを返します
addParts
  • 設計スタディに新しいパートをインポートします
  • 新しい結合を自動的に追加することが可能です
パラメータ:
9.
名前 タイプ 指定できる値 デフォルト値
file 文字列 CADファイルへのパス
reader 文字列 'parasolid', 'ct', 'parasolid+spatial' 'parasolid'
resolution 文字列 'standard', 'enhanced', 'fine', 'custom' 'standard'
angularDev 数値 '15.0', 'deg'
chordalDev 数値 '0.5', 'mm'
units オブジェクト setDefaultUnitsと同じ プロジェクトレベルから取得
addConnections ブール値 'true', 'false' 'false'
connGap 数値 ジオメトリに基づいて計算
connPenetration 数値 ジオメトリに基づいて計算
connResolution 文字列 'normal', 'increased', 'high' 'normal'
例:
//import part in assembly 
study.addParts({
  file: D:/Batchmode/plate_1.x_b',
  reader:'parasolid',
  resolution:'fine',
  addConnections:true,
  connGap:2,
  connPenetration: 2});
deleteParts
  • 設計スタディから特定のパートを削除します
  • 複数のマスクを設定する場合は、partNameMaskDelimiterによって指定された区切り文字が使用されます(例:partNameMask:‘Part 1, Part 2’)。
パラメータ:
10.
名前 タイプ 指定できる値 デフォルト値
partNameMask 文字列
partNameMaskDelimiter 文字列
例:
// delete part from assembly 
study.deleteParts({partNameMask: 'plate 1'});
Project.save({ file: ' D:/Batchmode//3_plates_part_delete.ssp' })

ジオメトリの欠陥のチェック関数

以下のAPIを使用すると、ファイルをインポートする際にジオメトリの欠陥をチェックし、ファセットの欠陥、パートのオーバーラップ、自己交差をCSVファイルに書き出すことができます。ユーザーはそれぞれのファイル名を定義することができ、設計スタディの数に応じてCSVファイルが生成されます。

study.checkGeometryForDefects
ファセットの欠陥がないかジオメトリの欠陥をチェックします。
study.checkGeometryForOverlaps
パートのオーバーラップがないかジオメトリの欠陥をチェックします。
study.checkGeometryForSelfIntersections
パートの自己交差がないかジオメトリの欠陥をチェックします。
例:
//open project
Project.open({ file: '<File_Directory>/example.ssp'});
var counter = 1;
Project.getDesignStudies().forEach(study => {
	study.checkGeometryForDefects({ file: '<File_Directory>/geometry_defects_test' + counter + '.csv' });
	study.checkGeometryForOverlaps({ file: '<File_Directory>/geometry_overlaps_test' + counter + '.csv' });
	study.checkGeometryForSelfIntersections({ file: '<File_Directory>/geometry_selfintersects_test' + counter + '.csv' });
	counter++;
});
Project.save({ file: ‘<File_Directory>/example_saved.ssp' });

結果のエクスポート関数

解決されたプロジェクトから、最大変位と最大フォンミーゼス応力の結果をCSVファイルにエクスポートします。

現在、構造線形解析と複数荷重ケース解析をサポートしています。CSVファイルには、座標、変位、応力、ひずみ、およびそれらの座標におけるひずみエネルギー密度を出力することができます。また、パートID、パート名、解析名、設計スタディも書き出します。

maxVonMisesおよびmaxDisplacement
例:
•Option 1 - export all analyses from all design studies to a single file
Project.exportToCSV({ file: <File_Directory> /All_analysis.csv', maxVonMises: true, maxDisplacement: true });
•Option 2 - export all analyses from all design studies into one file per design study
var counter = 1;
Project.getDesignStudies().forEach(study => {
study.exportToCSV({ file: ‘<File_Directory>/structural_output_per_ds' + (counter++) + '.csv', maxVonMises: true, maxDisplacement: true });
});
•Option 3 - export all analyses from all design studies into one file per analysis
var counter = 1;
Project.getDesignStudies().forEach(study => {
	study.getAnalyses().forEach(analysis => {
analysis.exportToCSV({ file: '<File_Directory>/sequential ' + (counter++) + '.csv', maxVonMises: true, maxDisplacement: true });
});
});

4.解析オブジェクト

解析オブジェクトは、SimSolidスクリプト環境の不可欠な部分であり、主にプロジェクトレベルの設定と設計スタディの作成を管理します。

関数

setDefaultUnits
  • プロジェクト全体で使用するデフォルトの単位を設定します
  • この関数により、一貫性を保つことができ、個々の操作ごとに単位を繰り返し指定する必要がなくなります。
パラメータ:
11.
名前 タイプ 指定できる値 デフォルト値
length 文字列 ‘mm’、‘cm’、‘m’、‘in’ ‘mm’
angle 文字列 ‘deg’、‘rad’ ‘deg’
force 文字列 'N'、'lbf'、'kip' 'N'
moment 文字列 'N*m'、'N*mm'、'lbf*in' 'N*m'
例:
// Set default units for the project 
Project.setDefaultUnits
({ 
length: 'cm', 
force: 'N' 
});
addDesignStudy
  • CADファイルからジオメトリをインポートすることにより、新しい設計スタディを作成し、設計スタディオブジェクトを返します
パラメータ:
12.
名前 タイプ 指定できる値 デフォルト値
file 文字列 CADファイルへのパス
reader 文字列 ‘parasolid’, ‘ct’, 'parasolid+spatial' ‘parasolid’
resolution 文字列 ‘standard’、‘enhanced’、‘fine’、‘custom’ ‘standard’
geomType 文字列 'solids+skins', 'solids', 'skins' 'solids+skins'
angularDev 数値 15.0(deg)
chordalDev 数値 0.635(mm)
units オブジェクト setDefaultUnitsと同じ プロジェクトレベルから取得
例:
// create a new design study
var study = Project.addDesignStudy({
		file: 'D:/Batch mode/Modal_Analysis/Pullup bar V1.step',
		reader: ‘ct’, //ct is the SimSolid legacy reader
		resolution: 'custom',
		angularDev: 12,
		chordalDev: 0.5,
		units: { length: 'cm', force: ‘N’ } });
save
  • プロジェクトを.ssp形式で保存し、失敗した場合はfalseを返します
パラメータ:
13.
名前 タイプ 指定できる値 デフォルト値
file 文字列 .sspファイルへのパス。 NA
構文:
Project.save ({ file: ‘<File_path>/<File_name>.ssp' });