え~、Drawのアクティブなシートにビューを新規に作成するだけのマクロです。
たったそれだけです・・・。
'vba addMemoView_ver0.0.1 using-'KCL0.1.0' by Kantoku Option Explicit Private Const VIEWNAME = "Memo" Sub CATMain() ' ドキュメントのチェック If Not CanExecute("DrawingDocument") Then Exit Sub ' viewチェック If isExistView(VIEWNAME) Then Exit Sub ' view作成 Call initView(VIEWNAME) End Sub Private Sub initView( _ ByVal name As String) Dim sheet As DrawingSheet Set sheet = CATIA.ActiveDocument.Sheets.ActiveSheet Dim vis As DrawingViews Set vis = sheet.views Dim vi As DrawingView Set vi = vis.Add(name) With vi .x = 0 .y = 0 .[Scale] = sheet.Scale .Activate End With End Sub Private Function isExistView( _ ByVal name As String) _ As Boolean isExistView = True Dim vis As DrawingViews Set vis = CATIA.ActiveDocument.Sheets.ActiveSheet.views Dim vi As DrawingView For Each vi In vis If vi.name = name Then MsgBox "view [" & name & "] は存在しています!" Exit Function End If Next isExistView = False End Function
毎回必ず! って程ではないのですが、かなり高確率で作成する
特定の名前のビューがあり、毎回手動で作成するのが面倒なので
マクロにしました。
・VIEWNAMEで指定した名称のビューを、MainViewの原点と一致するように
作成します。
・同一のビューが既にある場合は、警告を発して作成しません。
・作成するビューはアクティブシートのスケーリングと一致させています。
何らかの作業用のDrawファイルでも用意しておいてコピペでも
良かったんですけどね・・・。