|
AutoCAD... AutoLISP... VisualLISP... |
|
[34] handent |
Parę słów o funkcji handent. Uchwyty (handle) wprowadzono do rysunkowej bazy danych AutoCAD-a w Release 10 (10.1988), wcześniej obiekty rysunkowe nie miały stałego identyfikatora. Ponieważ nazwa obiektu ename jest zmienna w każdej nowej sesji AutoCAD-a, uchwyt jest jedynym stałym elementem identyfikującym obiekty. Uchwyt jest łańcuchem tekstowym reprezentującym liczbę (numer) obiektu zapisanym w postaci liczby heksadecymalnej. W rysunku uchwyt pojawia się tylko raz - po wymazaniu dowolnego elementu, nowy obiekt nigdy nie otrzyma wcześniej używanego uchwytu. Gwarantuje to zawsze pewny dostęp do określonego obiektu (np. przez zewnętrzne programy). Uchwyty zapisywane są jako wartość kodu 5 danych DXF obiektu. Funkcja wymaga jednego argumentu w postaci łańcucha tekstowego będącego identyfikatorem obiektu. Zwraca zmienną nazwę obiektu ( ename), lub nil jeśli obiekt o takim identyfikatorze nie istnieje. I tak, wywołanie:(handent "105") może zwrócić np.:
<Nazwa elementu: 2369798>Dochodzimy tutaj do bardzo szczególnej cechy funkcji handent - zwraca ona nazwę obiektu (o określonym handle), przez całą sesję rysunkową AutoCAD-a, nawet wtedy gdy obiekt już nie istnieje (został wcześniej wymazany). Ponieważ dane wszystkich usuniętych elementów są przechowywane w rysunkowej bazie danych AutoCAD-a, aż do końca sesji, za pomocą funkcji handent, otrzymujemy nazwę ename usuniętego obiektu. Znając zaś ename obiektu, możemy go za pomocą funkcji entdel ponownie przywrócić, (ponieważ entdel usuwa wskazany obiekt jeśli istnieje i przywraca jeśli został wcześniej usunięty).Mając powyższą wiedzę można wykonać następujące doświadczenie:
|
|
|