在 CATIA 中通过 VBA 使用 excel 公式
use excel formulas through VBA in CATIA
我需要你的帮助才能正确使用 CATIA。
我目前的任务是为模具创建一个 "support" 零件,其中必须插入最大 15 毫米的有头螺钉(无论其长度如何)。插入的有头螺钉的长度取决于位于支撑部件上方的板。在 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
尝试:
Application.WorksheetFunction.YourFunction(YourArguments)
不过,通常有比在 VBA 中使用工作表函数更好的解决方案。
您可以使用 CATIA 中的公式来根据您的输入(板厚度和所需的多余部分)确定用于设计的配置 table。
CATIA 为此提供了函数 CloserConfig、CloserSupConfig 和 CloserInfConfig。
举个例子假设首先考虑这个设计table:
还有三个参数:
GRIP_LENGTH是螺丝固定在一起的厚度
NUT_GRIP 是螺母所需的多余长度(或螺钉拧入板的距离)。
SCREW_LENGTH是所选螺丝的长度
公式评估设计的配置参数 table 选择最接近的可用配置,其中螺杆长度大于 GRIP_LENGTH 和 NUT_GRIP 的总和:
配置=Sheet->CloserSupConfig("SCREW_LENGTH",GRIP_LENGTH
+ NUT_GRIP
)
根据这个公式自动选择配置,并根据设计 table 填写 SCREW_LENGTH 的正确值。
感谢@Olly 的建议,我能够找到适合我的问题的公式。
为了让公式起作用,我在 Capscrew 设计中创建了一个柱子 table,我称之为 SuporteCheck。列的值(与所需螺钉 M10 和 M12 的行匹配)是以下公式的结果:板 9 的高度 - 板 9 中的凹槽长度 - 有头螺钉的高度 + 支撑中的凹槽长度。然后我在 Capscrew 配置中使用了上面的公式: CloserInfConfig("DesignTable.1","Altura_da_cabeça",External Parameters\Diametro_Parafuso
,"SuporteCheck",External Parameters\Espessura_Chapa_9
- 1mm -External Parameters\Diametro_Parafuso
+External Parameters\entrada_seguranca
谢谢大家
我需要你的帮助才能正确使用 CATIA。
我目前的任务是为模具创建一个 "support" 零件,其中必须插入最大 15 毫米的有头螺钉(无论其长度如何)。插入的有头螺钉的长度取决于位于支撑部件上方的板。在 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
尝试:
Application.WorksheetFunction.YourFunction(YourArguments)
不过,通常有比在 VBA 中使用工作表函数更好的解决方案。
您可以使用 CATIA 中的公式来根据您的输入(板厚度和所需的多余部分)确定用于设计的配置 table。
CATIA 为此提供了函数 CloserConfig、CloserSupConfig 和 CloserInfConfig。
举个例子假设首先考虑这个设计table:
还有三个参数: GRIP_LENGTH是螺丝固定在一起的厚度 NUT_GRIP 是螺母所需的多余长度(或螺钉拧入板的距离)。 SCREW_LENGTH是所选螺丝的长度
公式评估设计的配置参数 table 选择最接近的可用配置,其中螺杆长度大于 GRIP_LENGTH 和 NUT_GRIP 的总和:
配置=Sheet->CloserSupConfig("SCREW_LENGTH",GRIP_LENGTH
+ NUT_GRIP
)
根据这个公式自动选择配置,并根据设计 table 填写 SCREW_LENGTH 的正确值。
感谢@Olly 的建议,我能够找到适合我的问题的公式。
为了让公式起作用,我在 Capscrew 设计中创建了一个柱子 table,我称之为 SuporteCheck。列的值(与所需螺钉 M10 和 M12 的行匹配)是以下公式的结果:板 9 的高度 - 板 9 中的凹槽长度 - 有头螺钉的高度 + 支撑中的凹槽长度。然后我在 Capscrew 配置中使用了上面的公式: CloserInfConfig("DesignTable.1","Altura_da_cabeça",External Parameters\Diametro_Parafuso
,"SuporteCheck",External Parameters\Espessura_Chapa_9
- 1mm -External Parameters\Diametro_Parafuso
+External Parameters\entrada_seguranca
谢谢大家