2017-08-14 163 views
0

我需要您的幫助才能正確使用CATIA。在CATIA中通過VBA使用excel公式通過

我目前的任務是爲模具創建一個「支撐」部分,其中必須插入螺絲帽(不管其長度)最大爲15mm。插入的螺釘長度取決於位於支撐部分上方的板。在Excel中,我已經創建了幾個公式來確定哪些螺絲釘必須被使用,但我不知道如何在VBA中使用Excel公式。有什麼辦法在VBA中使用Excel公式甚至電子表格?

'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創建公式」。有很多指南和例子,[示例](https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-formula -property-excel),如果你在這期間碰到特定的編程問題,那麼回到這裏並描述它。 – miroxlav

+0

有一個VBA命令使用Excel公式,但唉,我不知道該命令是什麼。谷歌會幫你找到命令。你也可以嘗試錄製一個宏,然後輸入一個公式,看看這個宏是怎麼產生的。 –

+0

你的意思是你想在CATIA VBA代碼中使用excel公式嗎? –

回答

0

嘗試:

Application.WorksheetFunction.YourFunction(YourArguments) 

有往往比使用VBA工作表函數,但更好的解決方案。

+0

謝謝你的幫助。顯然我' m將不得不使用除了工作表函數之外的其他手段......我有以下給出了基於帽螺釘的ColLine而不是長度的答案,但我無法解決它。任何想法如何得到這個固定的? – Castella

+0

'將X聲明爲「Plate 9的高度」 Dim X As Integer X = length1.Value'聲明Y作爲要使用的CapScrew的最佳長度的結果Dim Y As Integer Y = 0'公式如果(designTable1.Configuration <= 15)= True那麼Y = X - 10 - 1 + 15 designTable2.Configuration = Y否則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配置參數的長度:

配置=片狀> CloserSupConfig( 「SCREW_LENGTH」,GRIP_LENGTH + NUT_GRIP

enter image description here

從這個公式的配置自動選擇和用於SCREW_LENG正確的值TH從設計表中填寫。

+0

感謝您的建議。 雖然不是100%正確,但我相信我非常接近解決方案。螺釘的具體直徑出現問題。在上面的公式中,選擇了第一個正確的螺釘長度。例如,如果我使用50mm的Support_Diameter和17mm的Height_of_Plate_9,則獲得選定的螺釘:M3x25,正確的選擇應該是M10x25。但是,如果我將Support_Diameter改爲大於或等於53mm的任何東西,則選擇始終應始於M12。 – Castella

0

感謝@ Olly的建議,我能夠爲我的問題找到正確的公式。

對於公式的工作,我在Capscrew設計表中創建了一個名爲SuporteCheck的列。柱子的數值(與所需螺釘M10和M12的排相匹配)是公式的結果:板9的高度 - 板9的凹槽長度 - 螺釘頭的高度+支架中的凹槽長度。然後我用的帽螺釘配置上面的公式:。CloserInfConfig( 「DesignTable.1」, 「Altura_da_cabeça」,External Parameters\Diametro_Parafuso, 「SuporteCheck」,External Parameters\Espessura_Chapa_9 - 100萬 - External Parameters\Diametro_Parafuso + External Parameters\entrada_seguranca

謝謝大家