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 = "
oTitleBlock.SetPromptResultText(oTBox, oSheet.Name)
End If
If oTBox.Text = "
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.
Czy jest gdzieś może podobny kod na wykorzystanie skali ale w języku angielskim?
OdpowiedzUsuńjuż sobie poradziłem;p dzięki za tę radę wuju!!!
OdpowiedzUsuńmam ilogic po angielsku ,czy można prości taka regułę do wersji ang
OdpowiedzUsuńReguły iLogic są niezależne od platformy językowej. Powinny działać na każdej wersji językowej. Proszę spróbować jeszcze raz pobrać regułę:
OdpowiedzUsuńhttp://communities.autodesk.com/ama/orig/resources/7/Podzialka-Nazwa_Arkusza.iLogicVb
i podłączyć ją jako zewnętrzną do iLogic.
Problemem może być tylko nazwa widoku "Widok1", ale w prezentacji:
http://communities.autodesk.com/ama/orig/resources/7/Ilosc_arkuszy.wmv
pokazałem jak regułę udoskonalić.
W razie problemów proszę o kontakt na mój email.
Rozszerzyłem funkcjonalność reguły o linijkę iProperties.Value("Custom", "Data")=DateString niestety zapis jest w formacie amerykańskim (11-17-2010). czy da się sięgnąć po europejską datę (17-11-2010)? Np DateString.Europe?
OdpowiedzUsuńA czy ten podprogram działa w ilogic 2010?
OdpowiedzUsuńJeśli chodzi o datę to tak na szybko można to zrobić trochę na około, składając datę z poszczególnych części (dzień-miesiąc-rok):
OdpowiedzUsuńiProperties.Value("Custom", "Data")=Day(Now()) & "-" & Month(Now()) & "-" & Year(Now())
Trochę bardziej złożone, ale działa :-)
Nie testowałem tych reguł na iLogic 2010, ale wydaje mi się, że powinno to działać.
OdpowiedzUsuńMam problem z uruchomieniem reguły w Inventor 2013
UsuńPoprzednia reguła dotycząca podziałki (bez uwzględniania numeru arkusza) działa bezproblemu.
Proszę o pomoc
Proszę o maila, podeślę plik z działającą regułą.
OdpowiedzUsuńtjaworski78@o2.pl
UsuńWitam mimo prób nie udało mi się uruchomić samej reguły na wstawianie podziałki w inventorze 2013. Prosiłbym bym o kod jeśli to możliwe na miala dj_smok@o2.pl
OdpowiedzUsuńta sama prosba
OdpowiedzUsuńpiotrbalcarczyk@gmail.com