kojacek

Użytkownik forum
  • Postów

    254
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    38

Treść opublikowana przez kojacek

  1. Oby nie był to "Rok Kulawej Kury"... ;)
  2. Myślę że Undo i Oops to (jednak) nie to samo.
  3. 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...
  4. 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?
  5. 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.
  6. 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?
  7. 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ę?
  8. To jakaś zmiana w oficjalnej specyfikacji DXF? Proszę o źródło.
  9. Szczerze przyznam że po raz pierwszy spotykam się z nazwą w DXF (ename = "LIGHTWEIGHTPOLYLINE").
  10. 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.
  11. 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/
  12. zgrabniej może być tak: (setvar "BKGCOLOR" (abs (- 7 (getvar "BKGCOLOR"))))
  13. 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!)
  14. 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ę?).
  15. 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
  16. 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/
  17. 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...
  18. 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.
  19. Tak jak w opisie podałem - są to dwa Fieldy zagnieżdżone. Pierwszy to pobrany kąt obiektu typu linia - to jest _ObjId 2081....864, i to jest odniesienie do obiektu graficznego. Oraz drugi, to jest _FldPtr 2081...760, czyli wartość kąta tej linii, czyli Field jako obiekt niegraficzny. Jeden jest odwołaniem do obiektu, drugi odwołaniem do jego właściwości (tutaj kąta).
  20. W programach z obsługą pól danych (FIELD) można tworzyć dynamiczny opis wartości pochylenia: https://kojacek.wordpress.com/autolisp/inne/teksty-i-opisy/field-pochylenie-dynamiczne/
  21. kojacek

    Bloki (dynamiczne)

    Tutaj szerszy opis: https://kojacek.wordpress.com/autolisp/obiekty-niegraficzne/tablice-symboli/blok-effectivename/
  22. kojacek

    Bloki (dynamiczne)

    Zagadnienie (bo nie problem) w AutoCAD, było (na polskim forum CAD) omawiane już wiele lat temu (gdy tylko pojawiły się bloki dynamiczne). Droga jest stosunkowo prosta: Odniesienie (wstawienie) bloku (mające nazwę anonimową) jest dynamicznym blokiem zależnym od nazwanego bloku dynamicznego, po spełnieniu warunków - (1) jego definicja posiada dane dodatkowe aplikacji o nazwie "AcDbBlockRepBTag", oraz (2) zawiera (w tych danych dodatkowych) odniesienie do uchwytu (handle) obiektu, który jest definicją bloku nazwanego. W zestawie funkcji CADPL-Pack, (http://forum.cad.pl/cadpl-pack-v1-lsp-t78161.html) zdefiniowana jest funkcja o nazwie cd:BLK_GetDynBlockNames. Zwraca ona listę wszystkich nazw odniesień (bloków anonimowych) zależnych.
  23. Obawiam się że się nie da. Dla twoich wywołań (bez ostatniego) sprawdź: (entget (vlax-vla-object->ename (vla-item mldrdict 0))) Wywołanie to zwraca coś podobnego do tego: ((-1 . <Entity name: 94c8760>) (0 . "ACAD_PROXY_OBJECT") (5 . "E1") (102 . "{ACAD_REACTORS") (330 . <Entity name: 94c8870>) (102 . "}") (100 . "AcDbMLeaderStyle") (90 . 499.000) (91 . 0.000000) (95 . 0.000000) (70 . 0) (94 . 0.000000)) W AutoCAD-zie to samo wywołanie zwraca: ((-1 . <Nazwa elementu: 7ff663004ce0>) (0 . "MLEADERSTYLE") (5 . "25E") (102 . "{ACAD_REACTORS") (330 . <Nazwa elementu: 7ff663004150>) (102 . "}") (330 . <Nazwa elementu: 7ff663004150>) (100 . "AcDbMLeaderStyle") (179 . 2) (170 . 2) (171 . 1) (172 . 0) (90 . 2) (40 . 0.0) (41 . 0.0) (173 . 1) (91 . -1073741824) (340 . <Nazwa elementu: 0>) (92 . -2) (290 . 1) (42 . 0.4) (291 . 1) (43 . 2.0) (3 . "") (341 . <Nazwa elementu: 0>) (44 . 0.18) (300 . "") (342 . <Nazwa elementu: 0>) (174 . 7) (178 . 6) (175 . 0) (176 . 0) (93 . -1073741824) (45 . 0.2) (292 . 0) (297 . 0) (46 . 5.0) (343 . <Nazwa elementu: 0>) (94 . -1073741824) (47 . 1.0) (49 . 1.0) (140 . 1.0) (293 . 1) (141 . 0.0) (294 . 1) (177 . 0) (142 . 1.0) (295 . 0) (296 . 0) (143 . 0.125) (271 . 0) (272 . 9) (273 . 9) (298 . 1)) Wynika z tego że w ZwCAD-zie, nie ma obiektu typu "MLEADERSTYLE". Obsługuje go uniwersalny obiekt zastępczy "ACAD_PROXY_OBJECT". Domyślam się zatem że ZwCAD obłuży z LISP-a style wielolinii, za jakiś czas dopiero (wątpię czy będzie to 2017).
  24. Dyskusje na ten temat w przeszłości miały już miejsce: http://forum.cad.pl/przenoszenie-w-a-ciwo-ci-rysunku-drawing-properties-t79709.html? oraz: http://forum.cad.pl/cadpl-pack-v1-lsp-t78158-100.html Niezmiennie polecam zatem CADPL-Pack'a, do tychże zastosowań, z uwzględnieniem funkcji: cd:DWG_AddCustomProp cd:DWG_GetCustomProp cd:DWG_RemoveCustomProp cd:DWG_GetSummaryInfo cd:DWG_SetSummaryInfo oraz innych, do zapisu / odczytu plików tekstowych - tamże