kojacek

Użytkownik forum
  • Postów

    236
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    26

Treść opublikowana przez kojacek

  1. To wszystko zależy z czym wiążesz przyszłość. Jeżeli masz ambicje być programistą i chcesz pisać aplikacje (nieważne czy pod CAD czy więcej), oczywiście idź w .NET + C#. Przy okazji możesz "dotknąć" też AutoLISP-a (czy VL), nie zaszkodzi, a może pomóc (inne spojrzenie). Jeśli zaś, będąc inżynierem (mechanikiem/elektrykiem/budowlańcem/etc.), i pracując w programach autocadopodobnych (czy w nim samym) chcesz tylko, (dużo dużo) więcej z niego "wycisnąć" (do tego małym kosztem) ucz się AutoLISP-a. Poszerzy twoje horyzonty dotyczące budowy i struktury rysunku (modelu), samej aplikacji. Taka wiedza może naprawdę poważnie zwiększyć codzienną wydajność, uprościć i ułatwić pracę, zmniejszyć ilość błędów, zautomatyzować wiele czynności. O swego rodzaju "frajdzie" nie wspomnę
  2. Jak coś ciekawego to wrzucaj. Jeśli się uda będziem prostować ;)
  3. Dzięki . Cieszę się że mogłem pomóc. Podaj teraz jakie pary kropkowe zapisujesz i jak wygląda błąd. Może da się też coś zaradzić?
  4. Spróbujmy jednak to naprawić - nieco naokolo. Zrób teraz tak: Załaduj CADPL-Pack'a Zapisz w 2017 LDATA - tak aby były zapisane źle Wywołaj: (cd:ENT_SetDXF (cd:DCT_GetDict (cd:DCT_GetDict (namedobjdict) "TEST") "T") 300 "(\"Abc Xyz\")") i następnie odczytaj dane. Jeżeli będzie ok, to w ten sposób będziesz mógl obejść ten problem, do czasu gdy żółte rączki go nie naprawią...
  5. a wywołaj (w 15 / 17): (vlax-ldata-list "TEST") jakie są różnice?
  6. Trzeba sprawdzić czy błąd występuje przy zapisie czy przy odczycie LDATA. Zróbmy tak: odczytamy zapisane dane nie mechanizmem LDATA, tylko zwykłym dostępem do obiektów niegraficznych. Dla uproszczenia warto wykorzystać CADPL-Pack'a, dostępnego tutaj: http://forum.cad.pl/cadpl-pack-v1-lsp-t78161.html . O Packu, możesz też poczytać tutaj: https://kojacek.wordpress.com/2015/11/04/cadpl-pack/ . LDATA to nic innego jak dane zgromadzone w obiekcie VLO_VL, w zadanym słowniku. Zatem: Wykorzystamy funkcję o nazwie cd:DCT_GetDict. Zatem: Ściągnij CADPL-Pack'a i go załaduj. Wywołaj: (cdr (assoc 300 (entget (cd:DCT_GetDict (cd:DCT_GetDict (namedobjdict) "TEST") "T")))) oczywiście dla wcześniej zapisanych danych. Podaj (zacytuj) co zwróciło. Wtedy zobaczymy co się da zrobić (jeśli błąd jest przy odczycie, da się to obejść, jeśli przy zapisie... to raczej nie)
  7. To rozwiązanie przypisuje opcję Wiele (Multiple) do kopiowania, ale tylko wywoływanego ze wstążki, dla wywołania ze skrótu, z linii poleceń nie działa, zatem jest tylko pewną protezą. Ale mam inne pytanie - po co dawać dla wersji PL skrót W, a dla angielskiej M? Nie można dać wszędzie M, (analogicznie przecież: jest _copy, a nie kopiuj)?
  8. Oby nie był to "Rok Kulawej Kury"... ;)
  9. Myślę że Undo i Oops to (jednak) nie to samo.
  10. Wielkość i ilość poprawek do ostatniego ZwCAD-a (kroczącego nieustannie gdzieś między wersją alpha i ciągle jeszcze bardzo wczesną beta), pozwala przypuszczać że ów "bieg czasu" będzie bardzo długi. Przy spełnieniu warunku że "odpowiednik" w tym czasie nie będzie zmierzał do przodu...
  11. Niech mnie ktoś oświeci - BATTING (czy ZIGZAK) malujecie polilinią? A w jakim celu? Nie można użyć w ZwCAD złożonego rodzaju linii?
  12. Ten rysunek (wszystkie tu przedstawione wersje) otwierany w AutoCAD, i zapisywany we wszystkich formatach DWG (od R14 przez 2000, 2004, 2007, 2010 i 2013), wyświetla (zawsze) poprawnie polskie znaki. Nie powinno to dziwić, bowiem definicje stylów tekstu korzystających z czcionek TTF, są we wszystkich tych wersjach takie same. Inne teksty (tutaj występujące wieloliniowe MTEXT), korzystają z odniesień do czcionek TTF (poza stylem), i też są wyświetlane poprawnie, choć budowa wewnętrzna opisu MTEXT nieznacznie się różni w kolejnych wersjach. Są to zmiany polegające na dodatkowych rozszerzeniach w nowszych wersjach, przy zachowaniu zgodności "w dół", aż do wersji R13 (odkąd się pojawił MTEXT). Jeśli więc występują jakieś błędy, to raczej z powodu przypadłości ostatniego ZwCAD-a.
  13. Problemem są zmienne lokalne, a właściwie ich brak. Zresztą w kodzie problemów jest więcej. A co tam z LIGHTWEIGHTPOLYLINE? Doczekam się wiarygodnego przykładu?
  14. No to może jakiś plik DXF z takim obiektem, albo DWG, żeby można entget-em pobrać "LIGHTWEIGHTPOLYLINE"... albo może jakiś lispowy kod typu entmake z "LIGHTWEIGHTPOLYLINE"? Da się?
  15. Szczerze przyznam że po raz pierwszy spotykam się z nazwą w DXF (ename = "LIGHTWEIGHTPOLYLINE").
  16. Jeśli zadziała mój kod z linku który podałem powyżej to właśnie tak. Jego działanie polega na zamianie kolorów dwóch elementów: tła ekranu graficznego i krzyża nitek, bowiem przez domniemanie przyjmuje się że są ustawione kontrastowo. Zatem jeśli tło masz RGB 30,40,48 a krzyż biały, polecenie BKG zamieni ten stan rzeczy: tło stanie się białym a kursor RGB 30,40,48. Oczywiście dotyczy to każdej pary kolorów, ustawionych jako tło i krzyż nitek.
  17. Ponadto dla użytkowników (nie tylko) AutoCAD-a (który nie ma zmiennej "BKGCOLOR"), od wielu już lat, taki oto przełącznik: https://kojacek.wordpress.com/autolisp/interfejsy/kolor-tla-ekranu-graficznego-autocad-a/
  18. zgrabniej może być tak: (setvar "BKGCOLOR" (abs (- 7 (getvar "BKGCOLOR"))))
  19. Chodzi o właściwość, która w AutoCAD-zie nazywa się Annotative, co w wersji polskiej przetłumaczone jest jako Opisowy. Właściwość ta pozwala przypisać stylom tekstu, blokom, stylom wymiarowania możliwości automatycznego skalowania w rzutniach obszaru papieru w zależności od określonej jej skali. Przykładowo - wymiar opisowy naniesiony na rzut pomieszczenia budynku w obszarze modelu, w obszarze papieru może być tak samo reprezentowany w rzutniach o różnej skali (ta sama wielkość grotów, wysokość tekstu, odstępy itd). "Dopasuj orientację do arkusza" odpowiada autocadowskiemu "Uzgodnij orientację bloku z arkuszem" i określa, czy orientacja odniesienia do bloku w rzutniach obszaru papieru odpowiada orientacji układu. Właściwość annotative została zaimplementowana po raz pierwszy w AutoCAD-zie 2008, w roku... 2009 (sic!)
  20. Alternatywny sposób: https://kojacek.wordpress.com/linie-z-grotem-czyli-strzalki-2/. Oczywiście dla programów obsługujących bloki dynamiczne (zwCAD 17 ma już tę cechę?).
  21. Bierzesz plik z załącznika. Wklejasz sobie do jakiegoś katalogu. W Ac (czy Zw) uruchamiasz polecenie appload, wybierasz plik i zatwierdzasz. Po załadowaniu, masz dostępne polecenie L-LINIA. Na marginesie, jeśli chodzi o ładowanie lsp, arx, dll, zrx itd, czy ogólnie o korzystaniu z możliwości adaptacji, mógłbyś wykazać więcej swojego zaangażowania i dowiedzieć się w help-ie, poprzeglądać to czy inne fora cad... l-line.lsp
  22. Dla AutoCAD-a na 100%. Możecie sprawdzić czy u was też chodzi. Jak wcześniej mówiłem, zaledwie parę linijek: https://kojacek.wordpress.com/autolisp/inne/linie-z-grotem-czyli-strzalki/
  23. Zrobienie dla Ac jakiegoś prostego (bez obsługi błędów i cudów konfiguracyjnych) lispa, malującego owe kreski, nie powinno zająć więcej niż 20 linijek i co najwyżej 20 minut...
  24. Nie wiem jak ma to działać w ZwCAD-zie, ale funkcja mh:MsgCommaToDot, ogólnie nie wiadomo czemu służy. W mojej opinii zamiana przecinków na kropki powinna mieć miejsce tylko w jednej sytuacji: pozostałe znaki reprezentują liczby. Tak nie jest.