[ Pobierz całość w formacie PDF ]

wielkość punktu,
glob_appname  nazwa, pod którą zarejestrujemy aplikacj  jest
to potrzebne, gdy chcemy dodać dane dodatkowe
dla wybranych elementów rysunkowej bazy
danych AutoCADa,
glob_h_tekstu  wielkość tekstu opisującego numer wzła i ele-
mentu dla okna obejmującego całą konstrukcj 
w chwili startu programu jest ona równa wielkości
tekstu dla okna podstawowego 12x9,
721 BvupMJTQ! !q3bluzd{oz!lv3t
glob_h_tekstu_0  wielkość tekstu opisującego numer wzła i ele-
mentu dla okna podstawowego  nie ulega zmia-
nie przez cały czas działania programu,
glob_delta_tekstu  odległość tekstu opisującego numer wzła i ele-
mentu w osi X i Y od środka wzła i elementu,
glob_wielkosc_punktu  wielkość punktu reprezentującego wzeł konstru-
kcji dla okna obejmującego całą konstrukcj 
w chwili startu programu jest ona równa wielkości
punktu dla okna podstawowego 12x9,
glob_wielkosc_punktu_0  wielkość punktu reprezentującego wzeł konstru-
kcji dla okna podstawowego  nie ulega zmianie
przez cały czas działania programu,
glob_typ_elementu  typ elementu (belka) w momencie startu programu,
glob_grupa_elementu  grupa elementu w momencie startu programu,
glob_material_elementu  materiał elementu w momencie startu programu.
Na samym końcu rejestrujemy aplikacj wykorzystując funkcj regapp o składni:
(regapp application)
Funkcja rejestruje nazw aplikacji (programu użytkowego) w aktualnym rysunku Auto-
CADa. Nazwa programu użytkowego, przekazywana w argumencie application, jest
podstawowym parametrem wykorzystywanym do grupowania, przechowywania, uzyskiwa-
nia i modyfikowania zdefiniowanych przez taki program dodatkowych danych elementów.
PECJFS[`[CJPS`EBOZDI
PECJFS[`[CJPS`EBOZDI
PECJFS[`[CJPS`EBOZDI
PECJFS[`[CJPS`EBOZDI
Funkcja odbiera zbiór danych przekazany w argumencie wywołania funkcji
nazwa_zbioru. Po otwarciu pliku danych do odczytu, ustawiamy globalny układ
współrzdnych (współrzdne wzłów zapisane w pliku podane są w układzie global-
nym), po czym wykonujemy funkcje czytające zbiór danych, tworzące listy wzłów
i elementów oraz rysujące na ich podstawie siatk MES konstrukcji.
D[ZUBK`[CJPS`EBOZDI
D[ZUBK`[CJPS`EBOZDI
D[ZUBK`[CJPS`EBOZDI
D[ZUBK`[CJPS`EBOZDI
Funkcja czyta zbiór danych i wywołuje funkcje odbioru wzłów i elementów. Funkcja
działa w ptli jeszcze1, która wykonywana jest do chwili odczytania linii
"END.OF.DATA" lub do osiągnicia końca zbioru. Poszczególne linie pliku
odbieramy za pomocą funkcji read-line i podstawiamy pod zmienną linia. Gdy linia
pliku zawiera łańcuch "NODES", wywoływana jest funkcja CZYTAJ_MODUL
_NODES, odbierająca moduł wzłów, po czym nastpuje powrót do ptli while
jeszcze1. Gdy linia pliku zawiera łańcuch "ELEMENTS", wywoływana jest funkcja
CZYTAJ_MODUL_ELEMENTS, odbierająca moduł elementów, po czym nastpuje
powrót do ptli while jeszcze1.
26/!Pct vhb!qmjl x!ufltupxzdi!x!BvupMJTQjf 722
D[ZUBK`NPEVM`OPEFT
D[ZUBK`NPEVM`OPEFT
D[ZUBK`NPEVM`OPEFT
D[ZUBK`NPEVM`OPEFT
Funkcja czyta moduł wzłów i tworzy na tej podstawie list wzłów. Funkcja działa
w ptli jeszcze2, która wykonywana jest do chwili odczytania linii "C END.OF
.NODES". Jeżeli odczytana linia nie jest końcem modułu wzłów, sprawdzamy
dodatkowo, czy nie jest to linia komentarza (duża litera C w pierwszej kolumnie, po
której wystpuje co najmniej jedna spacja). Jeśli odczytana linia nie jest komentarzem,
rozbijamy ją na list łańcuchów za pomocą funkcji PODZIEL_NA_
PODLANCUCHY. Wartość zwrotną funkcji podstawiamy pod zmienną lista1.
Nastpnie sprawdzamy, czy zerowy element listy nie jest nagłówkiem modułu wzłów
("NODE.NUMBER" lub "NODE"). Jeśli nie, oznacza to, że lista zawiera dane
o wzle. Pobieramy z niej wówczas dane odnośnie numeru wzła (numer) oraz jego
współrzdnych X i Y (wsp_x, wsp_y). Jeśli współrzdna Z wzła została podana,
podstawiamy ją pod zmienną wsp_z, w przeciwnym wypadku ustawiamy wartość
współrzdnej Z na 0. Nastpnie łączymy współrzdne wzła w list wsp_wz, tworzymy
list opis_węzla, zawierającą numer wzła oraz jego współrzdne, oraz dołączamy opis
wzła do listy glob_lista_wezlow.
Przykładowo, dla linii danych
" 1 1.0000 1.0000 0.0000"
lista opis_wezla ma postać
(1 (1.0 1.0 0.0))
D[ZUBK`NPEVM`FMFNFOUT
D[ZUBK`NPEVM`FMFNFOUT
D[ZUBK`NPEVM`FMFNFOUT
D[ZUBK`NPEVM`FMFNFOUT
Funkcja czyta moduł elementów i tworzy na tej podstawie list elementów. Funkcja
działa w ptli jeszcze2, która wykonywana jest do chwili odczytania linii "C END
.OF.ELEMENTS". Jeżeli odczytana linia nie jest końcem modułu elementów,
sprawdzamy dodatkowo, czy nie jest to linia komentarza (duża litera C w pierwszej
kolumnie, po której wystpuje co najmniej jedna spacja). Jeżeli odczytana linia nie jest
komentarzem, rozbijamy ją na list łańcuchów za pomocą funkcji PODZIEL_NA
_PODLANCUCHY. Wartość zwrotną funkcji podstawiamy pod zmienną lista1. Nast-
pnie sprawdzamy, czy zerowy element listy nie jest nagłówkiem modułu elementów
("NUMBER"). Jeśli nie, oznacza to, że lista zawiera dane o elemencie. Pobieramy
z niej wówczas dane odnośnie numeru elementu, jego grupy, typu, materiału oraz
topologii, tworzymy list opisu elementu opis_elementu oraz dołączamy opis elementu
do listy glob_lista_elementow.
Przykładowo, dla linii danych
" 1 1 34000 1 1 2"
lista opis_elementu ma postać
(1 1 34000 1 1 2)
723 BvupMJTQ! !q3bluzd{oz!lv3t
PCT[BS`NPEFMV
PCT[BS`NPEFMV
PCT[BS`NPEFMV
PCT[BS`NPEFMV
Funkcja ustawia takie granice rysunku, aby był w nich widoczny cały model siatki
MES.
NJO`NBY`OPEFT
NJO`NBY`OPEFT
NJO`NBY`OPEFT
NJO`NBY`OPEFT
Funkcja pomocnicza, wywoływana w funkcji OBSZAR_MODELU, znajdująca współ-
rzdne dwóch punktów (wzłów), w obrbie których mieści si cała konstrukcja.
Funkcja zmienia wartości zmiennych globalnych glob_punkt_ld oraz glob_punkt_pg.
W przypadku, gdy na liście wzłów znajduje si tylko jeden wzeł, umieszczamy go w
środku okna o wymiarach 12x9.
Jeśli konstrukcja zawiera dwa lub wicej wzłów, znajdujemy współrzdne jej dwóch
skrajnych punktów (x_min y_min), (x_max y_max), nastpnie znajdujemy długości
boków prostokąta, którego przeciwległe wierzchołki rozpite są na tych punktach 
x_odl, y_odl. Mając obliczone długości boków prostokąta, obliczamy odległości x_r
i y_r, o jakie powikszymy długości obliczonych boków. W ten sposób wokół
konstrukcji powstanie dodatkowy wolny obszar (odpowiada to w przybliżeniu komen-
dzie AutoCADa ZOOM 0.9X).
Kolejną czynnością wykonywaną przez funkcj jest skalowanie granic rysunku.
Rozróżniamy tutaj dwa przypadki:
" wymiar prostokąta w osi Y jest mniejszy od wymiaru w osi X  skalujemy
przez współczynnik 0.75 (9 / 12) i dopasowujemy wymiary okna w osi Y,
" wymiar prostokąta w osi Y jest wikszy lub równy od wymiaru w osi X 
skalujemy przez współczynnik 1.3333 (12 / 9) i dopasowujemy wymiary okna w
osi X.
Na koniec obliczamy współrzdne skrajnych brzegów rysunku po przeskalowaniu p1
i p2 oraz ustawiamy wartości zmiennych globalnych glob_punkt_ld i glob_punkt_pg.
HSBOJDF
HSBOJDF
HSBOJDF
HSBOJDF
Funkcja wywoływana jest z dwoma argumentami: p1 i p2, określającymi skrajne brzegi
rysunku, w obrbie których mieści si cała konstrukcja. Funkcja stosowana jest przy
powikszeniach/pomniejszeniach, a jej zadaniem jest zachowanie na ekranie stałej
wielkości punktu reprezentującego wzeł, stałej wysokości tekstu opisującego wzły
i elementy oraz stałej odległości opisu wzła i elementu od środka wzła i środka ele-
mentu. Skalowanie wymiarów przeprowadzamy w stosunku do okna podstawowego
12x9. Funkcja zmienia wartości zmiennych globalnych glob_h_tekstu, glob_wielkosc
_punktu i glob_delta_tekstu oraz ustawia nową wartość zmiennej systemowej PDSIZE.
26/!Pct vhb!qmjl x!ufltupxzdi!x!BvupMJTQjf 724
PECJFS[`XF[MZ [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kudrzwi.htw.pl
  • Archiwum
    Powered by wordpress | Theme: simpletex | © Wszystkie rzeczy zawsze działają zgodnie ze swoją naturą.