2017-08-14 121 views
0

CATIAを正しく使用する上で助けが必要です。CATIAでVBAを使用して式を計算する

私は現在、キャップスクリューを(その長さにかかわらず)最大15mm挿入する必要のある金型用の「サポート」部品の作成を担当しています。挿入されたキャップスクリューの長さは、支持部の上に位置するプレートに依存する。 Excelでは、どのキャップネジを使用する必要があるかを決定する数式を作成しましたが、VBAでExcel式を使用する方法はわかりません。 VBAでエクセル式やスプレッドシートを使用する方法はありますか?

'declaration of X as "Height of Plate 9" 
Dim X As Integer 
X = length1.Value 

'declaration of Y as the result for the optimal length of the CapScrew to be used 
Dim Y As Integer 
Y = 0 

'Formula for the length of the CapScrew to be used 
If (designTable1.Configuration <= 15) = True Then 
    Y = X - 10 - 1 + 15 
    designTable2.Configuration = Y 
Else 
    Y = X - 12 - 1 + 15 
    designTable2.Configuration = Y 
End If 
+3

ようこそ使用してください。 "vba excel create formula"という単語を含むお気に入りの検索エンジン。[example](https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-formula)の多くのガイドと例があります。 -property-excel)をMicrosoftから入手してください。この間に特定のプログラミング問題が発生した場合は、ここに戻って説明してください。 – miroxlav

+0

excel式を使用するためのVBAコマンドがありますが、私はコマンドが何であるかわかりません。 Googleがこのコマンドを見つけるのを手助けします。また、マクロを記録し、数式を入力してマクロがどのように表示されるかを確認することもできます。 –

+0

CATIA VBAコードでExcel式を使用することを意味しますか? –

答えて

0

試してみてください。

Application.WorksheetFunction.YourFunction(YourArguments) 

しかし、VBAでワークシート関数を使用するよりも、よりよい解決策がしばしばあります。

+0

ありがとうございます。明らかに私は'ワークシート機能とは別の手段を使用する必要があります...私は、長さではなく、キャップスクリューのColLineに基づいて私に答えを与えるが、私はそれを動作させることはできません。どのようにこの問題を解決するための任意のアイデア? – Castella

+0

'Xを「プレート9の高さ」として宣言する Dim X As Integer X = length1.Value'使用するCapScrewの最適な長さの結果としてのYの宣言Dim Y As Integer Y = 0 '使用するCapScrewの長さIf(designTable1.Configuration <= 15)= True次にY = X-10-1 + 15 designTable2.Configuration = Y Else Y = X-12-1 + 15 designTable2.Configuration = Y End If – Castella

+0

コメントにコードを投稿しない - オリジナルの質問を編集し、修正とコードを追加します。 – Olly

0

CATIAの式を使用して、入力(プレートの厚さと必要な超過)に基づいて設計テーブルに使用する構成を決定することができます。

CATIAは、この目的のためにCloserConfig、CloserSupConfig、およびCloserInfConfigの機能を提供します。三つのパラメータがある

enter image description here

そして:例では、最初の仮定を検討し、この設計テーブルとして

GRIP_LENGTHネジが一緒 NUT_GRIPを保持することであることを厚さがために必要な余分な長さでありますナット(またはねじがプレートにねじ込まれている距離)。

設定=シート状: SCREW_LENGTHは、選択されたネジ式スクリュー長はGRIP_LENGTHの合計とNUT_GRIP次に大きい最も近い利用可能な構成を選択する設計テーブルの設定パラメータをvaluates

の長さであります> CloserSupConfig( "SCREW_LENGTH"、GRIP_LENGTH + NUT_GRIP)この式から

enter image description here

設定が自動的に選択し、正しい値SCREW_LENGするためのものですTHは設計表から記入されています。

+0

ありがとうございます。 100%正確ではありませんが、私はこのソリューションに非常に近いと信じています。スクリューの特定の直径に問題が発生します。上式において、第1の正しいねじ長さが選択される。たとえば、Support_Diameterを50mm、Height_of_Plate_9を17mmとすると、選択されたネジM3x25が得られ、正しい選択はM10x25でなければなりません。 Support_Diameterを53mm以上に変更する場合、選択は常にM12から開始する必要があります。 – Castella

0

@ Ollyの提案のおかげで、私は自分の問題に適した数式を見つけることができました。

私はSuporteCheckと呼ばれるCapscrewデザインテーブルの列を作成しました。列の値(所望のスクリューM10およびM12の列と一致した)は、次の式の結果であった。プレート9の高さ - プレート9の窪みの長さ9-キャップスクリューヘッドの高さ+支持における窪みの長さ。それから私はCapscrew構成で上記の式を使用:CloserInfConfig( "DesignTable.1"、 "Altura_da_cabeça"、External Parameters\Diametro_Parafusoは、 "SuporteCheck"、External Parameters\Espessura_Chapa_9〜1ミリメートル - External Parameters\Diametro_Parafuso + External Parameters\entrada_seguranca

おかげでみんな

関連する問題