Tech-Ecke / CATScript/VBS Inhalt / Drawings (Zeichnungen)

 

Drawings (Zeichnungen)

Seiteninhalt:  
  Dokumenten-Eigenschaften von Drawings
  Blattgröße ermitteln
  Blattgröße ändern
  Prüfen auf Detail-Sheet
  Drawing Text
     2D-Texte erzeugen und positionieren
     2D-Text mit Parameter verlinken (Attribute Link)
     2D-Text über Name ansprechen


 

Dokumenten-Eigenschaften von Drawings auslesen

 

  Sub CATMain()

set Dok = CATIA.ActiveDocument

MsgBox Dok.Name                       ' Dateiname + Endung
MsgBox Dok.FullName                  ' Dateiname + Pfad


End Sub
 


 

Blattgröße ermitteln

Blattgröße in mm vom aktuellen Blatt ermitteln.

 

Sub CATMain()

set ActSheet = CATIA.ActiveDocument.Sheets.ActiveSheet
Hoehe = ActSheet.GetPaperHeight
Breite = ActSheet.GetPaperWidth

s = "?"

if Hoehe = 210 then s = "A4"
if Hoehe = 297 then s = "A3"
if Hoehe = 420 then s = "A2"
if Hoehe = 594 then s = "A1"
if Hoehe = 841 then s = "A0"

MsgBox Hoehe &"x" &Breite &" mm  -  das entspricht einem " &s &"-Format"

End Sub

 


 

Blattgröße ändern

 

Sub CATMain()

set ActSheet = CATIA.ActiveDocument.Sheets.ActiveSheet
ActSheet.PaperSize = catPaperUser

' auf A3-Format
ActSheet.SetPaperHeight 297
ActSheet.SetPaperWidth 420

End Sub

 


 

Prüfen auf Detail-Sheet

Prüfen ob das aktuelle Blatt ein Detail-Sheet ist, über "IsDetail".

 

Sub CATMain()

if CATIA.ActiveDocument.Sheets.ActiveSheet.IsDetail then
   MsgBox "Current sheet is a Detail Sheet!"
end if

End Sub

 


 

Drawing Text

Texte sind immer einer View zugeordnet. Catia kennt allerdings neben der klassischen View ebenfalls die MainView und BackgroundView (2) (Sheet Background). In den Beispielen wird die MainView (1) benutzt.

Erzeugen und Positionieren

  Sub CATMain()

set oSheet = CATIA.ActiveDocument.Sheets.ActiveSheet
set oTexts = oSheet.Views.Item(1).Texts ' 1 = MainView

set MeinText = oTexts.Add("Egal", 0, 0) ' 2D-Test erzeugen
MeinText.Name = "#MeinText" ' Name ändern
MeinText.Text = "anderer Text" ' Text ändern
MeinText.AnchorPosition = 3 ' Ausrichtungspunkt bestimmen (links/unten) - siehe Tabelle
MeinText.x = 100: MeinText.y = 50 ' Position ändern - 100 mm rechts, 50 mm hoch


End Sub
 

AnchorPosition Tabelle:

= 1 = 4 = 7
= 2 = 5 = 8
= 3 = 6 = 9


Text mit Parameter verlinken (Attribute Link)

  Sub CATMain()

set oTexts = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(1).Texts

' Text erzeugen
set TextA = oTexts.Add("egal", 25, 25)
set TextB = oTexts.Add("davor ", 25, 35)
set TextC = oTexts.Add(" dahinter", 25, 45)

' Parameter erzeugen
set oParameter =  CATIA.ActiveDocument.Parameters.CreateString("MeinParameter", "Text")

' verlinken
TextA.InsertVariable 0, 50 , oParameter   ' 50 Zeichen überschreiben
TextB.InsertVariable 0, 0 , oParameter   ' hinterm Text anfangen, nichts überschreiben
TextC.InsertVariable 1, 0 , oParameter
   ' vorm Text anfangen, nichts überschreiben

End Sub
 


2D-Text über Namen ansprechen - GetTextByName

2D-Texte lassen sich nur über den Counter, nicht aber über den Namen ansprechen. Hier eine Function um ein 2D-Text innerhalb einer View mit Namen anzusprechen.

  Function GetTextByName(oView,TextName)

i = 0: set oTexts = oView.Texts
if oTexts.Count = 0 then exit function
do
   i = i +1
   set oText = oTexts.Item(i)
   if oText.Name = TextName then i = oTexts.Count
loop until i = oTexts.Count
set GetTextByName = oText

End Function
 

Aufruf:

  Sub CATMain()

set oSheet = CATIA.ActiveDocument.Sheets.ActiveSheet
set oView = oSheet.Views.Item(1) ' 1 = MainView
MsgBox GetTextByName(oView, "Text.1").Name


End Sub
 


 

Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !

[letzte Aktualisierung 20.08.2020]