Błąd LUSTRA


2P

Rekomendowane odpowiedzi

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.

post-15-0-19640100-1452786015_thumb.png

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 przez 2P
Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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
 

post-15-0-07785600-1452852926_thumb.png

Mirror tekst.dwg
 

Odnośnik do komentarza
Udostępnij na innych stronach

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ą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie