Błąd LUSTRA


2P
 Share

Recommended Posts

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=

Edited by 2P
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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
 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share