【发布时间】:2014-05-30 15:08:55
【问题描述】:
请原谅我对 CATIA VBA 的了解有限。 我在自定义 CATIA V5 宏以浏览 Excel 坐标点并在 CATIA 中绘制它时遇到了一些困难,只需单击自定义的 CATIA 图标即可。
- 我有一个包含许多 XYZ 坐标的 Excel 文件,我们称之为 ExcelP1 (excel文件中没有脚本/宏),我想开发 CATIA 中的一个宏,用于从 ExcelP1 读取和绘制点。
-
目前我有另一个“带有宏的 Excel 文件”来浏览 ExcelP1,并在 CATIA 中绘制点。但我需要打开并运行 “带有宏的 Excel 文件”首先启动 CATIA。脚本是 如下(我没有开发这个)
Public Filename As String Private Sub Browse_Click() 'Open File Mainform.Hide Filename = Application.GetOpenFilename("Excel Files (*.xls), *.xls") If Filename <> "False" Then Application.Visible = False filenamebox.Value = Filename Else Application.Visible = False Filename = filenamebox.Value End If Mainform.Show End Sub Private Sub ClearButton_Click() Mainform.Hide ActiveWorkbook.Close (False) Application.Visible = False End Sub Private Sub OKButton_Click() 'Set Up Message Labels Title = "Information Message" 'Check for Entered Values If filenamebox.Value <> "" Then Workbooks.Open Filename:=Filename Application.Visible = False 'Start CATIA and add an Open body to the document Start_CATIA Mainform.Hide 'Read Point Data from file and create point in CATIA i = 2 Do Until Worksheets("Sheet1").Range("a" & i).Value = "" x = Worksheets("Sheet1").Range("a" & i).Value y = Worksheets("Sheet1").Range("b" & i).Value z = Worksheets("Sheet1").Range("c" & i).Value Create_Point i = i + 1 Loop i = i - 2 MsgBox i & " Points Created in New Part", , Title Else MsgBox "Enter a Filename", , Title End If ActiveWorkbook.Close (False) Mainform.Show End Sub Private Sub UserForm_Initialize() If Worksheets("Filepath_Location").Range("a1").Value <> "" Then Filename = Worksheets("Filepath_Location").Range("a1").Value filenamebox.Value = Filename End If End Sub
为了让脚本在 CATIA 中运行,我需要添加/修改什么?
【问题讨论】:
-
您是否尝试过从 Catia 中创建宏并以这种方式导入或读取 excel 文件?这是一个非常直接的操作。此外,读取 CSV 文件更容易读入 Catia VBA 宏。否则,您需要将 catia vba 库添加到您的 excel vba 项目中。我的建议是从 Catia 开始,然后将数据拉入,除非您有特殊需要留在 excel 中。
-
嗨 GisMofx,我正在尝试在 CATIA(IN 进程)中创建一个宏来浏览 excel 文件并绘制点。运行之前在 Excel 中发布的脚本并在 CATIA(OUT 进程)中绘制点,我没有问题。我的目的是在 excel 中创建一个自定义图标,它将浏览和读取点表 excel。对不起,我对 CATIA vba 的知识非常有限,希望在这里得到一些指导。干杯
-
好吧,你的评论很混乱...Catia Macro In Process ..你需要获取excel对象:
Set myEXCEL = GetObject(, "EXCEL.Application")或Set myEXCEL = New Excel.Application '= CreateObject("Excel.Application")你只是想知道在 Catia 脚本中创建点的正确方法吗?如果是,我可以帮助您使用代码 sn-p 来创建积分。 -
我很抱歉混淆了评论。是的,请告诉我。谢谢
-
谢谢。会做。我将根据您上面的代码帮助您提供子
CreatePoint的代码。