Option Explicit
' COPYRIGHT DASSAULT SYSTEMES 2004
' *****************************************************************************
' Purpose: Create a schematic document (2).
' Assumtions: Product level: Schematic Platform (SDI).
' Languages: VBScript
' Locales: English
' CATIA Level: V5R15
' *****************************************************************************
Sub CATMain()
' -------------------------------------------------------------------------
' Optional: allows to find the sample wherever it's installed
dim sSavePath As String
sSavePath=CATIA.SystemService.Environ("CATSavePath")
If (Not CATIA.FileSystem.FolderExists(sSavePath)) Then
Err.Raise 9999,sSavePath,"No Path for saving document"
End If
' -------------------------------------------------------------------------
Dim strMessage As String
strMessage = _
"--------------------------------------------------------------------" & vbCr
strMessage = strMessage & _
"Output traces from CAASchCreateSchDocument2.CATScript" & vbCrLf
'--------------------------------------------------------------------------
' Create a CATProduct document
'--------------------------------------------------------------------------
Dim objSchDoc As Document
Set objSchDoc = CATIA.Documents.Add ("CATProduct")
'
' Find the top node of the schematic object tree - schematic root.
Dim objPrdRoot As Product
Dim objSchRoot As SchematicRoot
'--------------------------------------------------------------------------
' Associate schematic behavior to the CATProduct document through
' the method GetTechnologicalObject.
'--------------------------------------------------------------------------
Dim strRootName As String
Dim strDocName As String
strRootName = "Sample_SchematicRoot"
strDocName = CATIA.FileSystem.ConcatenatePaths(sSavePath, _
"SampleOutput_SchDoc02.CATProduct")
If ( Not ( objSchDoc Is Nothing ) ) Then
Set objPrdRoot = objSchDoc.Product
If ( Not ( objPrdRoot Is Nothing ) ) Then
Set objSchRoot = objPrdRoot.GetTechnologicalObject("SchematicRoot")
objPrdRoot.PartNumber = strRootName
End If
If ( Not ( objSchRoot Is Nothing ) ) Then
'---------------------------------------------------------------------
' Regular CATProduct is a 3D document and is associated with a 3D
' editor and a 3D viewer. On the other hand a schematic document
' is a special CATProduct document that is associated with a special
' 2D viewer and 2D editor. Therefore, we need to trigger the
' documentation initialization (which has already been done in
' CATDocuments.Add) again after associating schematic
' behavior to the document,
' by saving the document and re-opening it again.
'---------------------------------------------------------------------
objSchDoc.SaveAs strDocName
objSchDoc.Close
Set objSchDoc = CATIA.Documents.Open (strDocName)
Set objPrdRoot = Nothing
Set objSchRoot = Nothing
If ( Not ( objSchDoc Is Nothing ) ) Then
Set objPrdRoot = objSchDoc.Product
If ( Not ( objPrdRoot Is Nothing ) ) Then
Set objSchRoot = objPrdRoot.GetTechnologicalObject("SchematicRoot")
End If
End If
'---------------------------------------------------------------------
' Set the drawing standard if needed
'---------------------------------------------------------------------
If ( Not ( objSchRoot Is Nothing ) ) Then
objSchRoot.SetDrawingStandard catISO
strMessage = strMessage & "drawing standard set to catISO" & vbCr
Dim std As CatDrawingStandard
std = objSchRoot.GetDrawingStandard
strMessage = strMessage & "drawing standard = " & std & vbCr
End If
'objSchDoc.SaveAs strDocName
End If '----If ( Not ( objSchRoot Is Nothing )...
End If
strMessage = strMessage & _
"--------------------------------------------------------------------" & vbCr
MsgBox strMessage
End Sub