-
Postów
268 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
43
Treść opublikowana przez kojacek
-
Jeśli ZwCAD obsługuje obiekty typu FIELD, jest to jak najbardziej możliwe. W AutoCAD zrobiłem to tak: Utworzyłem obiekt tekstowy typu field, z przypisaną formułą typu 100 + <wartość wskazanego wymiaru>. Następnie, edytując ten wymiar, zamiast <> wprowadzam field z wartością tego tekstu. W efekcie wartość pokazywana przez wymiar pokazuje owe 100 + jego długość. Oczywiście edycja wymiaru uchwytami (rozciągnięcie) i regeneracja, nadążają za zmianami.
-
Odczytywanie długości elementów
kojacek odpowiedział(a) na KBR temat w Wsparcie programistyczne LISP i VisualLISP
Zależy w jakim banku masz (to konto)... ;) Jeżeli zaś chodzi o polilinie, jej długości etc. Tutaj jest parę różności: http://forum.cad.pl/wiczenie-lisp-lwpolyline-t74939.html O kątach segmentów nie ma chyba nic, niemniej uważny czytelnik na podstawie tej lektury powinien sobie z tym dać spokojnie radę. Przy sprawdzaniu kątów swgmentów, dodatkowo (dla tekstów) należy zwrócić uwagę, na ich prwidłową orientację. Przykładowo pionowy odcinek może mieć kąt 90 stopni, jak i 180, zatem powinno się je trakować tożsamo - tekst zaś powinien mieć w obu przypadkach jedną orientację. Zabawy (z obrotem) dowolnego wymiaru liniowego dobrze to ilustrują. kojacek -
Prawda i nie(cała)prawda. Rzeczywiście (i tu prawda) textbox ma zastosowanie tylko dla obiektów typu TEXT. Dla tekstów wielowieszowych zaś (obiekty MTEXT), vla-getboundingbox, zwraca ramkę określającą obszar samego obiektu (nie zaś obszar dla rzeczywistej treści). Przypadki gdy szerokość tekstu wielowierszowego jest wielokrotnie większa niźli szerokość jego treści, są dość powszechne. kojacek
-
Jak wczytać plik/dane o adresie URL
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Zagadnienie nie jest szczególnie skomplikowane, oczywiście mówię o VisualLISP-ie: http://forum.cad.pl/autolisp-czytanie-strony-www-t80597.html kojacek -
Piszemy darmowa nakładka ? Jaka ?
kojacek odpowiedział(a) na Jason temat w Nakładki na ZWCAD i ZWCAD+
wygląda znajomo ;) -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Ja odniosłem takie wrażenie parę postów wcześniej, ale w odwrotną stronę... ;) Umówmy się jednak że rozróżnimy funkcjonalność programu od formatu pliku. W pełnym i LT tenże ostatni niczym się nie różni. Zatem nie ma o czym gadać. Na marginesie zaś - argument typu: "Wprawdzie u nas nie wszystko jest ok, aly wy Murzynów bijecie..." jest taki sobie... ;) Hmmm... a co co ja mam z tym wspólnego? Każdy może mieć zdanie na każdy temat. Ja uważam że zgodność powinna być jak najdalej idąca. Cały czas mówię o zgodności pliku, nie programów. To drugie to rzecz raczej wtórna według mnie. Jak wyżej, nie zgadzam się z taką opinią - jednak zbyt wiele trzeba by o tym mówić, a to nie jest ten temat. No i dotarlismy wreszcie do sedna. Opublikuj jakiś plik z tymi nowymi filtrami, z ciekawości pobadam jak to wygląda.kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
1) Moim zdaniem powinno wam zależeć na 100% zgodności zawsze, bowiem nie żyjecie tylko w swoim światku - prawdopodobnie pracujecie (czy spotkacie się) na plikach które mogą "przechodzić" przez różne aplikacje, poczawszy od AutoCAD-a, ZwCAD-y wszelkiej maści po wszystkie inne, zapisujące ogólnie dwg. Jak najszersza zgodność jest jak najbardziej pożądana. 2) Wobec powyzszej mojej opinii, wydaje mi się że brnięcie przez producenta ZwCAD-a, w filtry własnego pomysłu (ICAD_LAYERFILTERS) jest pomysłem złym. Zwłaszcza że funkcjonalnie, rozwiązaniem nie lepszym a jak widać raczej gorszym. Prędzej czy później (obawiam się że później jednak) przyjąć będzie musiał (powinien) jednak standard filtrów adesk-owy. 3) Póki co, (myslę że małym kosztem) możecie sobie wyLISPować coś na kształt nieudokumentowanego polecenia jakie jest w AutoCAD-zie, mianowicie +LAYER. Wygląda ono tak: czyli z listy dostępnych filtrów w aktualnym rysunku, tworzy listę słów kluczowych, a po wybraniu dowolnego z nich uruchamia menadzera warstw z włączonym określonym filtrem. LISP-owo wyglądać to może tak że wystarczy zrobić funkcję z argumentem w postaci nazwy filtra (jeden z istniejących w rysunku), która dokonywałaby zapisu w rejestrze i uruchamiała menadzera warstw. Sprawny LISP-acz mógły zrobić to pewnie w 10-15 minut. kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Dyskusja zaczyna być jałowa. Dyskusja o ideologii używania czy nieużywania tego czy innego programu mnie nie pociąga. Jakieś tam przekonanie na temat swojej wiedzy o (A/V)LISP-ie, budowy struktury rysunkowej bazy danych DXF dokumentu AutoCAD-a, mam, być może przesadzone. Słysząc o 100% zgodności dwg ZwCAD-a z AutoCAD-em, także głębokiej zgodności implementacji LISP-a w tych dwóch programach, spodziewałem się że te rzeczy są zgodne, jak ma to miejsce w przypadku np. warstw, rodzajów linii czy stylów tekstu. Stąd też zabrałem głos na ten temat, widać niepotrzebnie. Choć nauka jakaś z tego płynie: choćby to że kruszy tem mit 100% zgodności. kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Jak widzę trudno zauważyć zależność filtra warstw od cech warstw. Umówmy się jednak, że zależność taka istnieje. Teraz odpowiedź krótka zatem: W poprawnym pliku dwg mówi o tym wartość 1 kodu 290 danych DXF obiektu typu XRECORD w słowniku "ACLYDICTIONARIES" znajdującego się w ExtensionDictionary obiektu TABLE o nazwie "LAYER". W pliku dwg tworzonym przez ZwCAD filtry warstw w tym znaczeniu nie istnieją. kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
[A] Ja to rozumiem. Ale już na początku musimy rodzielić dwie rzeczy. Filtry warstw takie jak są zdefiniowane w natywnym pliku dwg i filtry warstw definiowane przez ZwCAD-a. Okazało się że to dwie różne rzeczy. O ile standardem jest tenże filtr z adesk-owego dwg (i dxf), tak ten z ZwCAD-a filtrem w tym znaczeniu nie jest. Jest poprawnym (i dopuszczalnym) wpisem (słownikiem + XRecord-em), niemniej filtrem warstw (powtarzam jeszcze raz) nie jest. Z uwagi na [A] - mogłem tego nie wiedzieć, bowiem "filtr" ZwCAD-a nie jest filtrem warstw. Rzekoma 100% zgodność dwg jest zatem mitem. ZwCAD nie widzi filtrów warstw AutoCAD-a, i odwrotnie. [C] I to nie ma właśnie sensu. Podstawową cechą filtra warstw jest ich grupowanie w celu manipulowania nimi jako grupą (np. wyświetlanie w oknie). Sens tego widać w możliwości zapisywania tych grup i ich stanów w rysunku. [D] Jest absurdalne. Wystarczy sobie wyobrazić że plik w "czasie swego życia" może mieć zmieniane nieskończenie wiele razy nazwy warstw, ich cechy, ich filtry. etc. Sam plik może być zapisywany i kopiowany nieskończenie wiele razy. Nie wspomnę o ilości otwieranych plików na jednym komputerze. Zapisywanie i sledzenie tych informacji... nie jest (uważam) ani dobrym ani mądrym pomysłem. kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Zważywszy zatem, że warstwy są nierozerwalną częścią każdego dokumentu (rysunku a nie aplikacji ogólnie przecież), wydaje się że ich filtry (czyli pewne ich zbiory logiczne tworzone na podstawie jakiś wspólnych cech) zwane w końcu nawet filtrami warstw, takimiż też powinny być. Model w którym stan ich nie jest zapisywany w rysunku (razem z warstwami których dotyczy), wydaje się być pomysłem absurdalnie bezsensownym. No bo do czego właściwie te "filtry" miały by służyć, w efekcie? Do ręcznego ustawiania za każdym razem? EDYTA: Opublikuj jakieś 2 rysunki, w których ustalone są identyczne np. 4 filtry warstw, ale w jednym nieżche aktywnym będzie 1, a w drugim 3 filtr, których nazwy podasz. Wprawdzie nie mam ZwCAD-a, ale z ciekawości chcę sprawdzić, czy to gdzieś nie siedzi. kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Czy dobrze (w takim wypadku) myślę, podpierając się malunkami (które tu uprzednio wstawiłem)... możliwe jest wyświetlenie (lub próba) filtra o nazwie np. 2_TECHNOLOGIA w rysunku w którym są tylko filtry: ARCH_PODST i ARCH_UZUP, lub nie ma żadnych filtrów :?: kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Jaka to jest wartość - jeśli mozna spytać? Nazwa filtra? kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Rzeczywiście tak jest. AutoCAD "nie widzi" tych filtrów. Zdefiniowane są tak jak się spodziewałem - podobnie jak były definiowane w AutoCAD 8-10 lat temu - w NamedObjectDictionary, a nie ExtensionDictionary obiektu. Z tego co widzę, żaden obiekt rysunku nie ma ExtDict. Ponieważ ten słownik nie może nazywać się ACAD_LAYERFILTERS ze względu na brak zgodności z formatem DWG nazywa się ICAD_LAYERFILTERS. Zdaje się że jest użyteczny tylko w ZwCAD-zie (czyt. jest bezużyteczny wszędzie indziej): kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Zatem jak mniemam schemat filtrów warstw w ZwCAD ma strukturę taką jak miał AutoCAD w wersji sprzed wersji 2005... bowiem od tego czasu (jak wcześniej zaznaczyłem) w AutoCAD są dwa rodzaje filtrów, i zapisywane są nie (jak wcześniej było) w ACAD_LAYERFILTERS w NamedObjectDictionary, tylko w słowniku ACAD_LAYERFILTERS znajdującym się w ExtensionDictionary tablicy LAYER (obiekt "TABLE"). Poniższa rycina ilustruje tę strukturę (w AutoCAD - filtry w oknie menadzera warstw i podgląd obiektów ExtensionDict warstw): Słownik ICAD_LAYERFILTER (wydaje się) ma lokalne i marginalne znaczenie, i jak sądzę nikt oprócz jego twórców z niego nie korzysta. Opublikuj jakiś mały malunek (dwg) z tymi filtrami - do "badań" - logika nakazuje mniemać, że w AutoCAD filtry utworzone w ZwCAD widoczne nie będą. kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Oczywiście że wszystkie dane są w dokumencie (rysunku). Nie sądzę żeby tu było inaczej - ZwCAD-owy dwg to najogólniej taki sam ja dwg jak autocad-owy.kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Rozróżnić należy: Filtry grupy i filtry właściwości. AutoCAD ma oba - nie wiem jak to jest w ZwCAD-zie. Być może jest tu tylko struktura z AutoCAD-a nizszego niż 2005 (tylko filtry właściwości). Są to słowniki o nazwach ACAD_LAYERFILTER i ACLYDICTIONARY. Poniższy malunek ilustruje tenże strukturę - w oknie GF widać tylko część obiektów: kojacek -
Jak ustawić filtr warstwy w LISPie?
kojacek odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Filtry warstw to obiekty niegraficzne (ogólnie słowniki: Dictionary, ExtensionDictionary i XRecord). Zabawki z filtrami (wprawdzie dla AutoCAD-a) są tu: http://kojacek.republika.pl/gf.html kojacek