我已经创建了一个VB类来操作CATIA项目。VB代码被编译成加载到C#工程中的动态链接库。
Imports ProductStructureTypeLib
Imports INFITF
Imports MECMOD
Public Class MyCATIAClass
Private catia As INFITF.Application
Public Sub New()
catia = GetObject(, "CATIA.Application")
End Sub
Public Sub doStuff()
GisMofx给我提供了这个VBA代码。
我使用此代码从我的Catia部件主体中删除指定的符号。
你能帮我把这个转换成CATScript或Vbscript吗?
Sub FixPartBodyNames()
Dim myPart As Part
Set myPart = CATIA.ActiveDocument.Part
Dim myBody As Body
Dim newName As String
Dim newCharacter As String
newCharacter = " "
For Each myBody In myPart.Bodies 'lo
我正在为一个3D程序CATIA和代码运行所有树递归循环的代码。我想退出递归循环,在它找到一个特定的产品之后。但是我的代码一直在运行,即使他找到了它。我写了粗略的meins。我在里面犯了什么错? Private Sub TestMain
.....
call TestMainChildren
.....
End Sub
Private Sub TestMainChildren
For Each item In product
.....
If itemName = "SearchName" then
MsgBox
我用以下方法锁定了Catia:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim boolCatAlive As Boolean
boolCatAlive = False
Try
Dim myCatia As INFITF.Application
myCatia = Interaction.GetObject(vbNullString, "CATIA.Application&
我有一个非常大的宏由大约6个或更多的subs组成。但是我想通过将宏放在private sub workbook_open()中来从另一个应用程序调用整个宏,从而使其成为一个自动宏!我的问题是,我如何将这个宏与私有子和结束子的边界放在一起。基本上这是宏观的一部分...
Private Sub Workbook_open()
End Sub
'//============================================================================
'// COPYRIGHT DASSAULT SYSTEMES 2001
'
我对UserForm Label有兴趣。事件之后的这个Label Click()运行一个应该等待Selection事件的函数,但是我不知道如何用CATVBA实现它。
Private Sub lblSomeLabel_Click()
Dim oSelection As Selection
Set oSelection = CATIA.ActiveDocument.Selection
Dim oPartDocument As PartDocument
Set oPartDocument = CATIA.ActiveDocument
Us
我只想在活动选择上更改Catia中的属性。我希望得到这段代码并将其概括,这样它将激活我所选择的任何项目上的宏,而不是针对特定的项目。
Sub CATMain()
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Item("Test 1.CATPart")
Dim product1 As product
Set product
我正在尝试创建一个程序,用于在catia中实现自动屏幕捕捉。为此,我必须创建一个平面对齐相机到那个平面,然后将相机重新设置到那个平面上。所以我使用了下面的代码。
Dim selection1 as selection
Set Selection1=partdocument1.selection
selection1.add hybridshapeplanetangent1
Catia.startcommand("Normal View")
catia.refreshdisplay=true
selection1.clear
selection1.add hybrid
我正在制作一个宏,以自动打开带有填充标题块的正确工作表格式上的新绘图,但我似乎不知道如何插入预先生成的.CATDrawing,就像页面设置对话框中的以下选项将如何插入一样:
见此处:
我目前的进展如下:
Sub CATMain()
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim myParam As Parameter
Set myParam = partDoc.Part.parameters.Item("Description")
Dim documents1 As Documents
我正试着用Python在CATIA V5上画一幅草图。我使用在VB中制作的Catia宏。但是错误仍然存在。我不能限制素描。以下是我的代码,以及我得到的错误:
from win32com.client import constants, Dispatch
import math as m
# Binding python session into CATIA
CATIA = Dispatch("CATIA.Application")
#Création du document
mon_document_piece = CATIA.Documents.Add("Part&
我有这个任务,我需要找到某种类型的混合形状,并将它们收集在列表框中我已经完成了这一部分,但我需要以这样的方式创建它,当用户从列表框中选择一个项目时,相应的混合形状或对象应该在catia中被选中这里是图像 ? 以下是代码 Option Explicit Dim ODoc As Document
Dim opartdoc As PartDocument
Dim oPart As Part
Dim ohybs As HybridBodies
Dim ohyb As HybridBody
Dim ohybshps As HybridShapes
Di
我的用户表单有问题。当在目录部分中进行选择时,它应该自动切换到另一个TextBox。我收到自动化错误:在消息过滤器中调用是非法的。运行时错误'-2147418107 (80010005)
Sub Auswahl_Click()
Dim sel As Object, Objekt As Object, ObjektTyp(0)
Dim b, Auswahl, i As Integer
ObjektTyp(0) = "Body"
Set sel = CATIA.ActiveDocument.Selection
For i =
我想使用CATScript导出CATIA产品的质量。这是我的解决方案:
'Start code
Sub CATMain()
Dim SRT as ProductDocument
Set SRT = CATIA.Documents.Open ("T:\...\SRT_2030.CATProduct")
Set SRT = CATIA.ActiveDocument
Dim oSelection As Selection
Set oSelection = SRT.Selection
Dim oProduct As Selection
Set oProduct = oSe
我在CATIA中使用CATscript创建宏。我正在尝试创建一个CATscript来翻译CATIA中的一个特性。
当我运行CATscript时,我应该选择应该翻译的特性,并且该特性将被翻译。
但我得到了一个运行时错误类型不匹配:‘part1.createReferenceFromObject’
我找不到解决这个问题的办法。期待你的帮助。
提前谢谢。
Sub CATMain()
Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set hybridShapeFactory1 = p
我需要从CATIA提取CATpart的产品树。我想使用宏来完成这一任务,并且我有适用于CATproducts的代码:
Sub CATMain()
Dim productDocument1
Set productDocument1 = CATIA.ActiveDocument
'Input box to select txt or xls
Dim exportFormat
exportFormat = "txt"
'Input box to enter name of file
Dim partName
partName = Inputbox ("Ple
我正试图为Catia V5创建宏,该宏将自动解锁所有视图并更新它们。宏更新所有视图(当它们被解锁时)。问题是,在运行宏之前,它只对工作表上的视图进行解锁,然后就不会更新其他工作表上的其他视图。
因此,在运行宏之前,视图的解锁只适用于我上次活动过的绘图表。但是,如果我的所有视图都被解锁,并且我运行了宏,它将更新我的所有视图,但是由于某些原因,当我锁定它们时,它们将不能像前面所述的那样工作。
Sub CATMain()
Dim oDrawing As DrawingRoot
Dim oViews As DrawingViews
Dim oSheets As DrawingSheets
Set
所以我的问题是,我想写一个宏,它可以选择特定的几何集合和分析,隐藏那些,拍摄照片,将这张照片导出到ppt,返回CATIA隐藏提到的地理集并显示另一个。 另一点是,可以在一个循环中对所有这些内容进行编程。 附加信息:-我知道每个地理集的名称,并且它们的数量不会改变。-照相和导出部分一样有效- CATIA是V5 R26 目前,这是我的代码: Sub CATMain()
'Msg
Dim response
response = MsgBox ("Mit einem Klick auf OK beginnt das Makro seine Arbeit. Prüfen sie z
我正在制作一个在Catia v5中执行一些动作的宏,我通过录制它得到了所有的代码,它的效果很神奇!但是,现在我希望能够只在另一个catproduct、catpart等上运行代码,而不必手动更改代码上的文件名。 代码: Sub CATMain()
Dim drawingDocument1 As DrawingDocument
Set drawingDocument1 = CATIA.ActiveDocument
Dim drawingSheets1 As DrawingSheets
Set drawingSheets1 = drawingDocument1.Sheets
Dim draw
我正在尝试在Catia中创建一个工具栏。此工具栏(基于VBA窗体)将具有启动Catia命令的按钮(以及其他内容)。我正在尝试启动的命令之一是"Constraint“命令(它应该允许您在Sketcher Workbench中放置草图元素的尺寸)。
我查看了命令列表(视图->命令列表...)找到了标注工具的“约束”和“约束...”对于“约束框”(打开一个框,您可以在其中设置几何约束,这不是我想要的)。我尝试了这个(最简单的情况):
Sub CATMain()
CATIA.StartCommand ("Constraint")
End Sub
我还试着在窗口底部的Ca
我想得到两个参数在“材料清单”。一是结构工作台中的“长度”,二是“数量”。我试图在
CATIA.Documents.Item(Document).Product.ReferenceProduct
但不行我有个主意。我试着想办法把“材料清单”变成一个数组。我找到了一个代码,写的材料比尔,以excel文件。
On Error Resume Next
Dim productDocument1 As productDocument
Set productDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = pr
当涉及到CATIA时,我是一个新手,但我在excel中使用VBA有相当多的经验。我正在尝试开发一个excel宏,它遍历catia程序集中的所有部分,通过将文本拼接到我想要的位置来重命名它们,然后对它们进行重新排序(字母数字升序)。我相信我可以写出用于实际拼接、重命名、重排序的算法位。我正在为使用excel操作Catia而苦苦挣扎。互联网上没有太多的信息。我已经勾选了参考资料中以CATIA开头的所有方框。到目前为止,我写了以下内容:
Dim CATIA as object
Set CATIA = Getobject(,"CATIA.Application")
Dim oMyDoc
我已经编写了一个C#程序,它将通过OLE/COM与CATIA5.18进行接口。这将是一种常见的情况,在运行程序的机器上将安装多个版本的Catia。无论是旧的还是新的,都可以按照任何时髦的顺序安装。最后安装的应用程序会将其设置放入注册表中。
我正在尝试设置注册表,以便使用新的句柄仅连接到5.18 CNEXT服务器。我在HKEY_CLASSES_ROOT中找到了Catia.Application条目和CLSID条目。我复制了这些文件,并为CLSID提供了一个新的UUID,并提出了以下注册表导入文件:
Windows Registry Editor Version 5.00
[HKEY_CLASS
我想为电源复制创建宏。我从这个中提取了代码和模型,不幸的是它不起作用(我做了一些小的修改)。我在这个中发现了类似的问题,而在他的例子中,它是有效的。
Private Sub CommandButton1_Click()
' Instantiation of a PowerCopy Reference "SurfacicHoles"
' SurfacicHoles is stored in the CATPart "e:\tmp\PowerCopyReference.CATPart"
' It has
' 3 inputs: Fi
我创建了一个Windows服务,试图启动一个应用程序(在本例中是CATIA)。
我使用以下代码:
private Application GetApplicationObject(string ProgId)
{
Application AppObject = null;
//Try to get allready open instance of the Application
try
{
AppObject = (Application)Marsh
目前,我正在通过基于node.js的REST-API,用运行edge.js替换我在IE中的ActiveX实现。
到目前为止,页面实现中的基本示例工作得很好。我的index.js设置为
var edge = require('edge');
var edgeVb = require('edge-vb');
var path = require('path');
var helloVb = edge.func('vb', path.join(__dirname, 'simpleVbFunction.vb'));
h
我已经尝试了一个星期了,但我找不到一个解决办法。问题是,我一直在用Excel在CATIA中自动化过程,现在我想使用Visual 2015。我遇到的唯一问题是Visual中的调试器。当我使用:
Dim CATIA As INFITF.Application = GetObject(, "CATIA.Application");
因此,我有一个{System.__ComObject},点击"Dynamic“(调试器/局部变量),我没有得到对象的任何属性。如果使用的不是CATIA.Application,而是Excel.Application,我可以在“动态视图”中看到对象的