在CATIA中更改剪切视图文本

时间:2014-04-06 10:51:39

标签: vba drawing catia

我目前正在使用CATIA V5,我想使用宏(VBA),但我遇到了一些问题!

我的问题是:如何更改剪切视图的文本? (见图)

enter image description here

我尝试使用:myView.Texts.item(1)来访问这个" text"但我认为CATIA不会将其视为文本 ......

我想在没有用户干预的情况下更改此文本(没有选择),我可以这样做吗?

3 个答案:

答案 0 :(得分:1)

IME,起草工作台中的VBA脚本起初非常棘手......" MyTexts"是DrawingText对象的集合。

MyDrawingText.Text = "MyNewTextValue"

您将遇到的主要问题是获取要修改的特定文本对象的句柄。我发现解决这个问题的最佳方法是在DrawingView中扫描整个DrawingTexts集合,并应用唯一的名称DrawingText.Name="UniqueObjectName",或者从脚本中创建绘图文本,您可以更轻松地处理DrawingText对象在那里放置你想要的任何值。创建唯一名称可使您的绘图更加强大,以便将来编写脚本

如果最后创建的DrawingText对象,

MyView.Texts.Count对于获取项目编号也很有用。

如果您需要,我很乐意进一步解释。祝你好运!

<强>更新/编辑: 如上所述,使用绘图工作台编写脚本并不总是直截了当。事实证明,标注文本并不完全存在于DrawingTexts的{​​{1}}集合中,但它们执行生活在图纸视图中的某个位置......在这种情况下,您正在尝试编辑&#34; ID&#34;截面视图。该属性也未通过VBA公开。

有一个 hack / work-around 用于搜索父视图以绘制文本,然后使用一些您需要提供的逻辑扫描{ {1}}用于您要更改的文本。你应该重新命名,这样就可以更容易地回来再找到它们。

这是一个以前视图的对象分辨率开始的示例(剖面视图的父视图)

DrawingView

答案 1 :(得分:1)

剪切视图的文本由视图名称定义,要更改它,您应该更改视图名称,如下所示:

Sub CATMain()

    Dim oDraw As DrawingDocument
    Set oDraw = CATIA.ActiveDocument

    Dim oSectionView As DrawingView
    Set oSectionView = oDraw.Sheets.ActiveSheet.Views.ActiveView

    oSectionView.SetViewName "Prefix ", "B", " Suffix"

End Sub

答案 2 :(得分:0)

要扫描标注文本,您可以使用以下行。 这将选择仅属于标注的文本,并且不会扫描所有文本。

tsp