CATIA的VBA宏在一台计算机上运行,​​而在另一台计算机上不起作用

时间:2016-11-16 12:35:09

标签: vba macros catia

我在VBA中有一个CATIA宏,它通过坐标(来自数组)绘制点。 它适用于我的电脑(Catia V5-R2014和我的neigbours - 两个版本V5-R2014和R21)。 但它不适用于不同城市的大学(他们有R21版本)。 基本上,我的宏从文件中读取输入数据,计算坐标,将它们写在外部文件中,然后绘制这些点。 除最后一个步骤之外的所有步骤都适用于计算机/版本。 但在最后一步“他们的”Catia只是没有绘制任何东西,没有任何错误。

所以最后一步的Subruotine是:

Sub PlotGeometry()
' Nmlp - number of points
Dim i As Integer

Dim oPartDocument As Document
Dim ohSPointCoord() As HybridShapePointCoord
Dim ohSPoints As HybridShapePointCoord
Dim bodies1 As Bodies
Dim body1 As Body

ReDim ohSPointCoord(0 To Nmlp)

Set oPartDocument = CATIA.Documents.Add("Part")
Set oPart = oPartDocument.Part
Set oPartBody = oPart.MainBody
Set oPlaneYZ = oPart.CreateReferenceFromGeometry(oPart.OriginElements.PlaneYZ)
' -- Draw Points
Dim ohSFactory As HybridShapeFactory
Set ohSFactory = oPart.HybridShapeFactory

For i = 0 To Nmlp
    Set ohSPointCoord(i) = ohSFactory.AddNewPointCoord(XM(i), YM(i), ZM(i))
    oPartBody.InsertHybridShape ohSPointCoord(i)
Next i

oPart.Update

End Sub

它能是什么?

2 个答案:

答案 0 :(得分:1)

随机猜测:

转到VBE>工具>参考

并比较两台计算机的值。它们应该完全相同。 比较这些复选框:

enter image description here

如果它们不同,请确保它们与有效的PC完全相同。

答案 1 :(得分:1)

也许在您的网站上,您启用了混合设计,而在其他网站上却没有。

启用混合设计后,您可以向Body添加点。不是这样,如果它没有启用,你的代码就不会出错。

设置位于工具 - >选项 - >基础架构 - >零件基础架构 - >零件文档选项卡 - >在零件主体和主体内启用混合设计。

由于无法解释的原因,启用混合设计是默认设置。但是我建议不要使用它。

如果您只是想让代码在两个地方都有效,那么请使用几何图形集来聚合您的点而不是主体。

Dim pointsBody as HybridBody
Set pointsBody = oPart.HybridBodies.Add
pointsBody.Name = "Points_Body"

...

For i = 0 To Nmlp
    Set ohSPointCoord(i) = ohSFactory.AddNewPointCoord(XM(i), YM(i), ZM(i))
    pointsBody.AppendHybridShape ohSPointCoord(i)
Next i