春暖花开,或许你还在做Interface配接单;秋高气爽,又或许你还要维护焊点信息。有没有想过是命运的安排还是上天的惩罚,要让你在CATIA里面处理那些空间点?因为这些点点确实很不友好:要一个一个测量点坐标,再把数字一个一个腾挪出去,枯燥无聊有没有,怕错怕漏有没有!来,坐稳了,解码小技能他来了!
不过也有个限制,只能是通过创建“点”产生的点点。暂不支持提取、相交、投影、平移旋转等产生的点点,这种情况下可以先消参处理。
![](https://3dsystemes.com/wp-content/uploads/2021/12/f2.png)
输出:一个新打开的Excel文件,里面的内容定然不会让你失望的啦
操作步骤:
进到CATIA软件里面,按下Alt+F11键,新建一个模块。
先点击“确定”创建一个VBA工程。没有弹出这个窗口的可以忽略,直接进下一步。
然后创建一个新库,路径和名称可以自便。
再通过单击“插入/模块”菜单,新建一个模块。
双击新建好的模块,粘贴下面这段代码进去。
Dim inputtype(0),Status,myselect Dim myarray(),myname(),mytype(),mycell(),feature() Set oSelection=CATIA.ActiveDocument.Selection Status=oSelection.SelectElement3(inputtype,“selectpoints”,True,CATMultiSelTriggWhenSelPerf,False) If Status=“Cancel” Then Exit Sub For i=1 To oSelection.Count ReDim Preserve myname(i–1) ReDim Preserve mytype(i–1) ReDim Preserve feature(i–1) ReDim Preserve mycell(2,i–1) Set myselect=oSelection.Item2(i).Value myname(i–1)=myselect.Name mytype(i–1)=TypeName(myselect) feature(i–1)=myselect.Thickness.Parent.Parent.Name myselect.GetCoordinates myarray ‘如果不是创建“点”产生的点点,这里会出错 mycell(j,i–1)=Str(myarray(j)) Set excel=CreateObject(“Excel.Application”) Set excelbook=excel.Workbooks.Add Set excelsheet=excelbook.Worksheets(1) excelsheet.Application.Visible=True excelsheet.cells(2,2)=“Order” excelsheet.cells(2,3)=“Name” excelsheet.cells(2,4)=“X” excelsheet.cells(2,5)=“Y” excelsheet.cells(2,6)=“Z” excelsheet.cells(2,7)=“Type” excelsheet.cells(2,8)=“PartA” excelsheet.cells(2,9)=“PartB” excelsheet.cells(2,10)=“PartC” excelsheet.cells(k+2,2)=k excelsheet.cells(k+2,3)=myname(k–1) excelsheet.cells(k+2,j+4)=Round(mycell(j,k–1),3) excelsheet.cells(k+2,7)=mytype(k–1) excelsheet.cells(k+2,8).NumberFormatLocal=“@” excelsheet.cells(k+2,8)=feature(k–1) excelsheet.range(excelsheet.cells(3,8),excelsheet.cells(i+1,8)).TextToColumnsDestination:=excelsheet.cells(3,8),Other:=True,OtherChar:=“-“ excelsheet.columns(“B:J”).EntireColumn.AutoFit
5.回到CATIA主界面,框住想要导出的点点。可以按住Ctrl多次增减。
6.按下Alt+F8键,单击运行。眨眨眼,等那个意中人新的Excel文件出现。