欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java excel 创建按钮_通过单击Excel按钮在Catia中设计零件

发布时间:2024/7/23 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java excel 创建按钮_通过单击Excel按钮在Catia中设计零件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我已经在用宏编辑器构建的Catia V5中编写了一些宏,但我无法弄清楚如何从Excel访问Catia命令 .

我想知道如何通过仅在excel文件圆柱体的半径和长度中创建一个简单的直圆柱体 .

我想在Catia中输入不同的压力容器,在Excel中输入它们的直径和高度,然后点击那张excel表中的按钮后,容器应该出现在Catia中 . 如果我已经需要在Catia中打开一个空的部分,我没有问题,但最好只是让Catia打开而不加载任何东西 .

如果我有一个开始,看看如何从Excel访问Catia方法,我想我可以找出完成容器所需的其余方法,如颈部,帽子等 .

谢谢 .

编辑:我设法测试了一些东西,我遇到了一个问题,我不知道如何在Excel vba中设置约束 . 我将代码从Catia vb移动到Visual Express并设法使其在那里工作但是在excel中我没有找到关于如何使用驱动维度的链接 .

这是我的代码:

Sub Main()

Dim CATIA As Object

Set CATIA = GetObject(, "CATIA.Application")

Set openDocument = CATIA.ActiveDocument

Set currentPart = openDocument.Part

Set currentHybridBodies = currentPart.HybridBodies

Set currentHybridBody = currentHybridBodies.Add()

Set referenceHybridBody = currentPart.CreateReferenceFromObject(currentHybridBody)

currentPart.HybridShapeFactory.ChangeFeatureName referenceHybridBody, "GeometricalSet"

Set partOriginElements = currentPart.OriginElements

Set plnYZ = currentPart.OriginElements.PlaneYZ

Set currentGeometricalSet = currentPart.HybridShapeFactory

Dim currentOffset As Integer

Dim circleDiameter As Integer

Dim cylinderLength As Integer

currentOffset = 0

circleDiameter = Range("B2").Value

cylinderLength = Range("B3").Value

Call CreateCylinder(0, 0, circleDiameter, cylinderLength, currentOffset)

currentPart.Update

currentOffset = currentOffset + cylinderLength

circleDiameter = Range("B5").Value

cylinderLength = Range("B6").Value

Call CreateCylinder(0, 0, circleDiameter, cylinderLength, currentOffset)

openDocument.Part.Update

currentOffset = currentOffset + cylinderLength

circleDiameter = Range("B8").Value

cylinderLength = Range("B9").Value

Call CreateCylinder(0, 0, circleDiameter, cylinderLength, currentOffset)

currentPart.Update

currentOffset = currentOffset + cylinderLength

CATIA.ActiveWindow.ActiveViewer.Reframe

End Sub

Sub CreateCylinder(iCenterX, iCenterY, iDiameter, iLength, iPlaneOffset)

Set CATIA = GetObject(, "CATIA.Application")

Set openDocument = CATIA.ActiveDocument

Set currentPart = openDocument.Part

Set plnYZ = currentPart.OriginElements.PlaneYZ

Set currentGeometricalSet = currentPart.HybridShapeFactory

Set planeOffset1 = currentGeometricalSet.AddNewPlaneOffset(plnYZ, iPlaneOffset, False)

Set currentHybridBody = currentPart.HybridBodies.Item("GeometricalSet")

currentHybridBody.AppendHybridShape (planeOffset1)

openDocument.Part.Update

Set currentBodies = currentPart.Bodies

Set currentBody = currentBodies.Add()

Set currentSketch = currentBody.Sketches.Add(planeOffset1)

Dim Factory2D As Object

Set Factory2D = currentSketch.OpenEdition

Set geometricElements1 = currentSketch.GeometricElements

Dim axis2D1 As Object

Set axis2D1 = geometricElements1.Item("AbsoluteAxis")

Dim line2D1 As Object

Set line2D1 = axis2D1.GetItem("HDirection")

Dim line2D2 As Object

Set line2D2 = axis2D1.GetItem("VDirection")

Set currentCircle = Factory2D.CreateClosedCircle(iCenterX, iCenterY, iDiameter / 2)

Dim point2D1 As Object

Set point2D1 = axis2D1.GetItem("Origin")

Dim constraints1 As Object

Set constraints1 = currentSketch.Constraints

Dim reference2 As Object

Set reference2 = currentPart.CreateReferenceFromObject(currentCircle)

Dim constraint1 As Object

Set constraint1 = constraints1.AddMonoEltCst(catCstTypeRadius, reference2)

Dim catCstModeDrivingDimensions As Object

'Set constraint1.Mode = catCstModeDrivingDimensions 'Here I get the error

Dim iRadius As Double

iRadius = iDiameter / 2

currentCircle.CenterPoint = point2D1

currentSketch.CloseEdition

Dim newPad As Object

Set newPad = currentPart.ShapeFactory.AddNewPad(currentSketch, iLength)

End Sub

在该注释行上我得到错误438:对象不支持此属性或方法 .

代码在没有该行的情况下工作,但几何元素不受约束,相反它们看起来是固定的,我不希望这样 .

该代码在Visual Express中工作正常,并将所有约束放在应有的位置 .

任何人都可以告诉我如何将Catia命令链接到excel vb .

这是来自v5自动化文档:

枚举CatConstraintMode {catCstModeDrivingDimension,catCstModeDrivenDimension}

此外,对我的代码的任何反馈表示赞赏 .

谢谢 .

编辑:我似乎可以导入的唯一引用是:references

如果我选择其他人,则会收到错误:加载DLL时出错 . Catia安装在服务器上但是我可以使用Browse指向它...我仍然不确定在那里选择什么,因为有很多文件 .

总结

以上是生活随笔为你收集整理的java excel 创建按钮_通过单击Excel按钮在Catia中设计零件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。