poniedziałek, stycznia 25, 2016

Mathcad - skrypty dla bardziej zaawansowanych. Część 1 - skrypt automatyzujący dobór parametrów betonu

Kiedy robimy kolejny projekt, który ma związek z betonem, nudne może być ponowne wprowadzanie wszystkich parametrów materiału. Jest na to sposób. Możemy stworzyć skrypt, który umożliwi nam wybrać daną klasę betonu, a cała reszta zdefiniowana zostanie automatycznie. Jak to zrobić?



Przepis znajdziecie poniżej.


Teraz musimy zdefiniować pozycje w naszym ListBoxie, które będą oznaczały kolejne klasy betonu.


Wprowadzamy kolejne klasy betonu oraz ustalamy, która z wartości ma być domyślna w przypadku uruchomienia Mathcada.


Klikamy następnie na <File> oraz <Apply changes>, aby zastosować zmiany. Możemy po tym wszystkim zamknąć Edytor.


Klikamy prawym przyciskiem na wolne miejsce obszaru roboczego po czym wybieramy <Insert> oraz <Table>, aby wstawić tabelę z danymi dostępnych klas betonu.


Uzupełniamy tabelę danymi, które możemy znaleźć w normie PN-EN 1992-1-1 Projektowanie konstrukcji z betonu.


Następnie musimy wprowadzić definicje odpowiednich parametrów, których wartości będą wyszukiwane w tabeli.


Teraz możemy wprowadzić <Area> (Obszar), który będziemy mogli ukryć, aby nie rozpraszało to już naszej uwagi.



Możemy nazwać ten Obszar np. "Klasa betonu". Żeby to zrobić, klikamy w jedną z linii prawy przyciskiem myszy, a następnie wybieramy <Properties>. W nowym oknie klikamy w zakładkę <Area>, gdzie możemy wpisać nową nazwę.


Teraz klikając dwukrotnie na strzałkę naszego obszaru, możemy go ukryć.
Użytkownikowi możemy pokazać jedynie wyniki.


Za pomocą strzałek na klawiaturze lub kliknięciem myszki możemy wybrać daną klasę betonu, a wszystkie parametry zostaną automatycznie zaktualizowane.

Zaprezentowane podejście ma jednak jedną wadę (da się je obejść, jednak w nieco skomplikowany sposób) - po każdym ponownym uruchomieniu Mathcada, wybrana domyślnie będzie klasa zdefiniowana w Edytorze Skryptów. Dlatego też musimy pamiętać, aby na odpowiednią wartość ustawić zmienną ListBox.CurSel np. gdy mamy klasę C20/25 to ListBox.CurSel = 2.

Cały plik skryptu może wyglądać następująco:


Tak przygotowany skrypt można kopiować do kolejnych projektów. Jedyne co będziemy musieli zrobić, to wybrać daną klasę betonu, a cała reszta zostanie zaktualizowana automatycznie.

0 komentarze:

Prześlij komentarz