2P Opublikowano 14 Stycznia 2016 Zgłoś Udostępnij Opublikowano 14 Stycznia 2016 (edytowane) Uważam, że polecenie lustro (MIRROR) działa błędnie w odniesieniu do tekstów (i atrybutów). Może ktoś stwierdzi, że tak powinno działać, ale wg mnie jest to duży błąd, a szczególnie dający się we znaki programującym w LISPie funkcje obsługi atrybutów w blokach. Oto ten błąd.Mamy w rysunku tekst, oraz zmienną MIRRTEXT ustawioną na 0 (teksty przy poleceniu lustra nie będą odwrotnie).Nasz tekst to literka "A" i drugi tekst to ' (apostrof) albo "a". Jeśli obydwie litery odbijemy to w przypadku litery A wynik będzie oczekiwany. Ale w przypadku mniejszych (niższych) znaków już nie koniecznie! Niby odbiją się poprawnie, ale punkt wstawiania zostanie przesunięty w przypadkowe miejsce (nie będzie odbiciem punktu wstawiania pierwotnego tekstu.Efekt jak na rysunku. gdzie każda litera to osobny obiekt TEXT.1.Środkowyj przykład to to co opisałem powyżej. Nie takiego efektu się spodziewam, bo znak (litera) to nie tylko miejsce gdzie są kreski tworzące literę, ale też pusta przestrzeń nad. Odbicie powinno dotyczyć punktu wstawiania, a nie pola zajmowanego przez konkretny znak z alfabetu...2.Lewy przykład pokazuje, działanie MIRROR dla MIRRTEXT = 1. Również źle! 3. Prawy przykład. Tak powinno działać polecenie MIRROR niezależnie, czy każda literka to osobny TEXT, czy wszystkie są jednym TEXT'em. Problem robi się jeśli chcemy operować za pomocą LISPa w odniesieniu do pozycji atrybutów w bloku. Punkt wstawiania atrybutu przez ten błąd staje się zmienny zależnie od tego czy blok był kiedyś odbijany przez lustro, gdy wartością atrybutu było coś innego niż duża litera.Wg mnie takie działanie MIRROR na tekstach to spory błąd. Ciekawe czy zrobiony żeby zachować kompatybilność z wielkim bratem? Czy w innym cadzie jest inaczej? Jeśli to dla kompatybilności, to pewnie tego nie poprawią :(....Pozdrawiam i siadam do przerabiania swoego LISPa, aby był nie czuły na ten błąd MIRROR (przez 2 dni myślałem że niedziałanie mojego programu wynika z będu w moim kodzie ..... :( )=2P= Edytowane 14 Stycznia 2016 przez 2P Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 15 Stycznia 2016 Zgłoś Udostępnij Opublikowano 15 Stycznia 2016 Dzień dobry Staram się powtórzyć takie działanie programu, ale na ZWCAD+ 2015 i ZWCAD Classic przy domyślnych ustawieniach takie objawy nie powtórzyły się. Czy może Pan przesłać przykładowy plik, na którym można to sprawdzić? Być może jest to kwestia ustawień np wyrównanie tekstu, a może coś ze stylem tekstu. Jaka jest rola LISP w tym zagadnieniu? czy chodzi tylko o to, że LISPem odczytuje Pan punkt wstawienia tekstu? czy jest różnica kiedy mirror wykonywany jest przez polecenie ZWCADa? czy LISPem? Pozdrawiam Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
2P Opublikowano 15 Stycznia 2016 Autor Zgłoś Udostępnij Opublikowano 15 Stycznia 2016 Witam.Możliwe, że wykonuje Pan czynności na innym tekście. Tzn. u mnie każda literka jest osobnym elementem cad.W załączeniu plik DWG obrazujący problem.Przetestowałem sprawę w wersjach 2015 Std, i 2014. Efekt ten sam. Próby zrobiłem na czystym rysunku ze standardowym stylem. Proszę nie skupiać się na związku z LISPem. Problem występuje przy zwykłym wykonywaniu poleceń MIRROR na zwykłym tekście. Mój LISP miał za zadanie obracać atrybuty w danym wystąpieniu bloku tak, żeby były zawsze widoczne w pionie. Obrót następuje względem punktu wstawienia (centrum symetria) znajdującego się w okręgu. Jeśli blok był wcześniej "mirrorowany" z jakimś tekstem o niższych znakach, to punkt wstawiania wypada z środka okręgu. Ponowna zmiana tekstu w atrybucie uwidacznia się tym, że tekst pojawia się poza okręgiem, w który był pierwotnie wpisany. Inny przykład z blokiem nie związany z LISPem w załączeniu Mirror tekst.dwg Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 15 Stycznia 2016 Zgłoś Udostępnij Opublikowano 15 Stycznia 2016 OK, teraz rozumiem. Przekazałem temat do ZWSOFT Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
2P Opublikowano 19 Stycznia 2016 Autor Zgłoś Udostępnij Opublikowano 19 Stycznia 2016 Dziękuję za zgłoszenie.Na chwilę obecną poradziłem sobie z problemem dot. atrybutów pisząc krótki kod, który współrzędne attrybutów pobiera z definicji bloku i naprawia atrybuty. Takie uproszczone polecenie ATRSYN operujące na jednym wystąpieniu bloku. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.