繁体   English   中英

如何使用宏将 CATPart 编号和名称输入到绘图中的文本编辑器中?

[英]How to get CATPart number and name into text editor in drawing using macro?

我正在尝试在 CATIA 中创建一个宏。 宏应使用带有按钮的用户窗体。 点击按钮后,它会自动在文本字段中填写数据(零件名称+零件编号)。

我是 VBA 的新手。

Private Sub CommandButton1_Click()
    
    Dim DrwDocument As DrawingDocument
    Set DrwDocument = CATIA.ActiveDocument

    Set DrwSheets = DrwDocument.Sheets
    Set Selection = DrwDocument.Selection
    Set DrwSheet = DrwSheets.ActiveSheet
    Set DrwView = DrwSheet.Views.ActiveView
    Set DrwTexts = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.ActiveView.Texts

    Dim parameters4 As Parameters
    Set parameters4 = DrwDocument.Parameters

    Dim realParam4 As Parameter
    Set realParam4 = parameters4.Item("Sheet.1\ViewMakeUp.3\Scale")
    
    DrwView.Activate
    Set Projekt = DrwTexts.Add(tbProjekt.Text, (288), (45.5))
    Projekt.AnchorPosition = catMiddleLeft
    Projekt.SetFontName 0, 0, "Monospac821 BT"
    Projekt.SetFontSize 0, 0, 3
        
    Set PocetKs = DrwTexts.Add(tbPocetKs.Text + "x", (36), (78))
    PocetKs.AnchorPosition = catMiddleLeft
    PocetKs.SetFontName 0, 0, "Monospac821 BT"
    PocetKs.SetFontSize 0, 0, 3
        
    If OptionZrk = True Then
        Set PocetKsZrk = DrwTexts.Add(tbPocetKs.Text + "x", (36),(70))
        PocetKsZrk.AnchorPosition = catMiddleLeft
        PocetKsZrk.SetFontName 0, 0, "Monospac821 BT"
        PocetKsZrk.SetFontSize 0, 0, 3
                
        Set ZrkText = DrwTexts.Add("Zrkadlový", (102), (80))
        ZrkText.AnchorPosition = catMiddleLeft
        ZrkText.SetFontName 0, 0, "Monospac821 BT"
        ZrkText.SetFontSize 0, 0, 3
    End If
     
    Set Material = DrwTexts.Add(cbMaterial.Text, (288), (37.5))
    Material.AnchorPosition = catMiddleLeft
    Material.SetFontName 0, 0, "Monospac821 BT"
    Material.SetFontSize 0, 0, 3
        
    Set Mierka = DrwTexts.Add(realParam4.ValueAsString, (238), (40))
    Mierka.AnchorPosition = catMiddleLeft
    Mierka.SetFontName 0, 0, "Monospac821 BT"
    Mierka.SetFontSize 0, 0, 3
        
    Set DatumUpravy = DrwTexts.Add(tbDatum.Text, (355), (38))
    DatumUpravy.AnchorPosition = catMiddleLeft
    DatumUpravy.SetFontName 0, 0, "Monospac821 BT"
    DatumUpravy.SetFontSize 0, 0, 3
    
End Sub

通过视图的GenerativeBehavior ,您可以获得显示的产品。

dim oProduct as Product
Set oProduct = DrwView.GenerativeBehavior.Document

MsgBox CStr(oProduct.PartNumber)
MsgBox CStr(oProduct.Nomenclature)

确保视图具有几何/产品的链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM