kojacek

Użytkownik forum
  • Postów

    252
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    35

Treść opublikowana przez kojacek

  1. 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...
  2. 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?
  3. 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.
  4. 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?
  5. 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ę?
  6. To jakaś zmiana w oficjalnej specyfikacji DXF? Proszę o źródło.
  7. Szczerze przyznam że po raz pierwszy spotykam się z nazwą w DXF (ename = "LIGHTWEIGHTPOLYLINE").
  8. 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.
  9. 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/
  10. zgrabniej może być tak: (setvar "BKGCOLOR" (abs (- 7 (getvar "BKGCOLOR"))))
  11. 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!)
  12. 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ę?).
  13. 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
  14. 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/
  15. 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...
  16. 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.
  17. 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).
  18. 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/
  19. kojacek

    Bloki (dynamiczne)

    Tutaj szerszy opis: https://kojacek.wordpress.com/autolisp/obiekty-niegraficzne/tablice-symboli/blok-effectivename/
  20. 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.
  21. 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).
  22. 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
  23. Teza oparta na jakichś przykładach? Pliki lsp w AutoCAD są plikami tekstowymi. Edytor Visual LISP może kompilować pliki lsp do dwóch formatów: fas (fast lsp), oraz do vlx, gdzie oprócz tekstowego lsp, można dołączyć definicje okien dialogowych dcl. Kompilacja jako taka, chroni (ukrywa) kod przed nieautoryzowanym wykorzystaniem, właściwie "przy okazji". Celem kompilacji jest przede wszystkim zoptymalizowanie działania kodu,i w efekcie przyspieszenie działania. Różnice w szybkości między interpretowanym tekstowym lsp a skompilowanym vlx, mogą w skrajnych przypadkach być nawet 10-12 krotne.
  24. Nie mogę na AutoCAD-zie sprawdzić ani jednego rozwiązania... z prostej przyczyny - AutoCAD działa poprawnie i w trybie edycji lokalnej bloku (REFEDIT), po prostu nie jest możliwy wybór innych obiektów niźli tych z zestawu roboczego. Czyli generalnie jest to przypadłość ZwCAD-a, może po prostu mogliby to poprawić? A wtedy żadna protetyka nie będzie potrzebna.