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中设计零件相关推荐
- excel 重复方差分析_如何在Excel中运行方差方差分析的两种方法
excel 重复方差分析 Recently, we looked at how to Perform a One-Way Analysis of Variance in Excel. In today ...
- excel mysql 开发_最新技术让excel秒变web数据库
Excel是微软产品线中深受人们喜爱的产品,对很多精明的企业管理者而言,更是如此.<硅谷钢铁侠>中多次提到埃隆马斯克,常常使用Excel来评估商业计划是否靠谱,不论是评估购买苏联人的火箭做 ...
- excel一键清除按钮_一键清除Excel过滤器
excel一键清除按钮 I use Excel tables in almost every file that I build, these days. They come with a defau ...
- excel数据透视_取消透视Excel数据的快速方法
excel数据透视 Before you can build a flexible pivot table, you might need to rearrange the data. For exa ...
- excel自动筛选_自动更改Excel筛选器标题
excel自动筛选 There was a question about Excel Advanced Filter criteria on the Tech Republic blog recent ...
- excel查找命令_快速查找Excel功能区命令
excel查找命令 If you have been using the Ribbon in Excel 2007 or Excel 2010 for a while, you can probabl ...
- excel冻结窗口_你会Excel吗?14个Excel神奇功能+8个Excel小技巧+Excel常见快捷键,提升办公效率...
14个Excel神奇功能+8个Excel小技巧+Excel常见的一些快捷键,让你的Excel技能6得飞起,每天都能提前2小时下班. 14个Excel神奇功能 一.<Excel如何快速还原隐藏行& ...
- lisp倒入excel数据画图_如何将EXCEL中的数据导入到CAD中,绘制成曲线|
如何将EXCEL中的数据导入到CAD中,绘制成曲线 如果不用软件,只用CAD自身功能的话可以通过多段线生成你需要的曲线.你给出你的曲线函数,我给你生成曲线坐标以及CAD能自动绘制的文件格式 怎样将ca ...
- excel mysql插件_智分析Excel插件
智分析Excel插件官方版是一款好用的自助分析云平台,智分析Excel插件官方版是一款面向业务用户的EXCEL插件工具,智分析Excel插件官方版支持各类云端数据库.本地excel数据导入 ...
最新文章
- 技术名词API/SDK/DLL的非技术层面理解
- 中国语言文学专业c刊排行榜,中国有名的文学刊物有哪些 十大中国著名文学刊物盘点...
- P5725 【深基4.习8】求三角形(python3实现)
- lnmp 0.4 安装指南
- LeetCode 646. 最长数对链
- 怎么在delphi显示html,如何在Delphi中将简单的RichText转换为HTML标签?
- linux centos设置共享目录,在CentOS上配置SAMBA共享目录
- 新手如何制作专业的思维导图
- 在当前目录下 打开cmd
- 618省心凑背后的新算法——个性化凑单商品打包购推荐
- 解决无法删除文件夹的情况
- 标准误和标准差及CV值
- 西部世界:币本位是什么?
- android和iOS平台的崩溃捕获和收集
- 重新排列数组的数,使得负数都排在正数的前面
- Win8 RP微软原版光盘镜像下载大全(含中文版)
- 一款好玩的关联微信运动的云遛狗微信小程序
- 自制力的本质是什么?怎样才能变得自律?
- Python+Vue计算机毕业设计牙无忧6ayy4(源码+程序+LW+部署)
- 绎维软件F-One获得B轮融资,华创资本领投,齐银基金跟投
热门文章
- J2EE软件开发视频教程
- 2.2_ 4_ FCFS、SJF、 HRRN调度算法
- www万维网和HTTP协议
- 对公平席位分配问题的探讨:最大余数法、Q值法和D’Hondt方法及其特例|公平分配原则等
- 计算机操作系统——死锁(产生的必要条件与处理死锁的四个关卡)
- linux语言 翻译工具,Linux文本转语音工具eSpeak介绍
- 安卓虚拟摄像头_iPhone 的「第四颗摄像头」位置,为什么给了激光雷达?
- LATEX调整公式、图片与正文间距离,文字间距离,调整空白大小
- Halcon算子学习:图像阈值分割-threshold、binary_threshold、dyn_threshold算子
- 利用Inception-V3训练的权重微调,实现猫狗分类(基于keras)