Prezentowany ostatnio sposób automatyzacji wstawiania podziałki rysunkowej ma pewną wadę. Nie sprawdza się w sytuacji gdy dokumentacja składa się z większej ilości arkuszy. W takiej sytuacji na wszystkich arkuszach wstawiana jest ta sama podziałka. Postanowiłem rozwiązać ten problem tym bardziej, że zapytano mnie czy nie dało by się w jakiś sposób wstawić nazwy arkusza do tabliczki rysunkowej.
Musimy zacząć od wprowadzenia do tabliczki rysunkowej dwóch atrybutów tekstowych, wprowadzanych ręcznie. Są to:
"Nazwa arkusza"
"Podz"
Może to na przykład wyglądać tak:
Zapisujemy zmiany w tabelce i przystępujemy do definiowania nowej reguły iLogic. Reguła będzie kolejno aktywowała każdy arkusz w rysunku. Następnie skanowała wszystkie atrybuty, w poszukiwaniu tych, które mają nazwę: "Nazwa arkusza" lub "Podz". W przypadku znalezienia takiego atrybutu następuje wpisanie odpowiednio nazwy arkusza i podziałki.
Reguła zakłada, że na arkuszu jest wstawiona tabliczka. W przypadku gdy arkusz nie będzie zawierał żadnego widoku lub widok bazowy będzie miał nazwę inną niż "WIDOK1" podziałka zostanie ustawiona na "0:0"
Reguła taka może wyglądać tak:
Sub Main Arkusz
Dim oSheet As Sheet
Dim oTitleBlock As TitleBlock
Dim oTextBoxes As TextBoxes
For Each oSheet In ThisApplication.ActiveDocument.Sheets
ActiveSheet = ThisDrawing.Sheet(oSheet.Name)
oTitleBlock = oSheet.TitleBlock
oTextBoxes = oTitleBlock.Definition.Sketch.TextBoxes
For Each oTBox In oTextBoxes
If oTBox.Text = "<Nazwa arkusza>" Then
oTitleBlock.SetPromptResultText(oTBox, oSheet.Name)
End If
If oTBox.Text = "<Podz>" Then
Try
oTitleBlock.SetPromptResultText(oTBox, ActiveSheet.View("WIDOK1").ScaleString)
Catch
oTitleBlock.SetPromptResultText(oTBox, "0:0")
End Try
End If
Next
Next
End Sub
Jeżeli nie macie czasu na przepisywanie to powyższa reguła wraz z opisami jest do pobrania tutaj. Regułę można podpiąć do szablonu i podłączyć wyzwalacz przy zapisie rysunku. Życzę udanego testowania i implementacji reguły w Waszych projektach.
A w przyszłym tygodniu pokażę jak zautomatyzować wstawianie całkowitej liczby komponentów do tabliczki rysunkowej.
Comments
You can follow this conversation by subscribing to the comment feed for this post.