Harry Opublikowano 17 Maja 2016 Zgłoś Udostępnij Opublikowano 17 Maja 2016 Witam Używam ostatnio wersji classic i w pewnych momentach zaczyna mnie rozsadzać ... Wszystkie wcześniejsze wersje (2012+, 2015+) działały bardzo dobrze i bardzo fajnie. Natomiast wersja Classic : !! rozwala bloki, w szczególności dynamiczne. Ale to, że nie można zmieniać ich atrybutu to nic. zmienia ich nazwy losowo, stosując oznaczenia typu 0$.. lub *U.... Wystarczy otworzyć rysunek zawierający pewne bloki - zmienia ich nazwę i właściwości. Powoduje to gigantyczne kłopoty i problemy. Np. w zliczaniu elementów (wyciąganie atrybutów, szybki wybór). Czy tylko ja mam z tym problem ? Czy jest na to jakaś metoda ? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 18 Maja 2016 Zgłoś Udostępnij Opublikowano 18 Maja 2016 Witam, chciałbym nieco się upewnić czy dobrze zrozumiałem posta. Faktem jest ZWCAD Classic nie obsługuje bloków dynamicznych. Problemem jest jak sądzę, że w rysunku nie mogą istnieć dwa bloki (lub więcej) o tej samej nazwie, ale o różnych definicjach. W ZWCAD+ po utworzeniu kilku kopii bloku dynamicznego i zmianie wymiarów bloku, powstaje blok o nazwie *Ux, gdzie x to kolejny numer. Program nazywa tak bloki dla rozróżnienia, ale głębiej w definicji są zamieszczone inne dane np. źródłowa nazwa bloku. Przykład Załóżmy, że blok nazywa się "Drzwi". Jeśli utworzymy jego 2 kopie, to nic się z nazwą nie stanie do czasu zmiany wymiarów bloku. Jeśli zmienimy wymiar bloku, to pojawi się nowy blok o nazwie np. *U04, jeśli zmienimy kolejny to powstanie blok o nazwie *U05. Te bloki może Pan również zobaczyć w ZWCAD+. Natomiast w pasku właściwości przy wszystkich blokach będzie pojawiała się nazwa "Drzwi", pomimo innych wymiarów bloku. Otwarcie takiego rysunku w Classicu nie powoduje rozbicia bloków. W pasku właściwości dalej są wyświetlane "Drzwi". Zapis takiego rysunku w ZWCAD Classic (nie widzi tego jako bloki dynamiczne), zachowuje informacje odnośnie dynamiczności bloków, co sprawdziliśmy otwierając taki rysunek w ZWCAD+. Classic nie rozbija więc bloków, natomiast eksport atrybutów i qselect widzi rzeczywistą nazwę bloków np. *U30. Rozumiem, że Pan chciałby, aby zamiast tego pojawiała się nazwa bloku z paska właściwości? Pozdrawiam Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harry Opublikowano 20 Maja 2016 Autor Zgłoś Udostępnij Opublikowano 20 Maja 2016 Witam, chciałbym nieco się upewnić czy dobrze zrozumiałem posta. Faktem jest ZWCAD Classic nie obsługuje bloków dynamicznych. Problemem jest jak sądzę, że w rysunku nie mogą istnieć dwa bloki (lub więcej) o tej samej nazwie, ale o różnych definicjach. W ZWCAD+ po utworzeniu kilku kopii bloku dynamicznego i zmianie wymiarów bloku, powstaje blok o nazwie *Ux, gdzie x to kolejny numer. Program nazywa tak bloki dla rozróżnienia, ale głębiej w definicji są zamieszczone inne dane np. źródłowa nazwa bloku. Przykład Załóżmy, że blok nazywa się "Drzwi". Jeśli utworzymy jego 2 kopie, to nic się z nazwą nie stanie do czasu zmiany wymiarów bloku. Jeśli zmienimy wymiar bloku, to pojawi się nowy blok o nazwie np. *U04, jeśli zmienimy kolejny to powstanie blok o nazwie *U05. Te bloki może Pan również zobaczyć w ZWCAD+. Natomiast w pasku właściwości przy wszystkich blokach będzie pojawiała się nazwa "Drzwi", pomimo innych wymiarów bloku. Otwarcie takiego rysunku w Classicu nie powoduje rozbicia bloków. W pasku właściwości dalej są wyświetlane "Drzwi". Zapis takiego rysunku w ZWCAD Classic (nie widzi tego jako bloki dynamiczne), zachowuje informacje odnośnie dynamiczności bloków, co sprawdziliśmy otwierając taki rysunek w ZWCAD+. Classic nie rozbija więc bloków, natomiast eksport atrybutów i qselect widzi rzeczywistą nazwę bloków np. *U30. Rozumiem, że Pan chciałby, aby zamiast tego pojawiała się nazwa bloku z paska właściwości? Pozdrawiam Fakt, przyznaję rację, że może użyłem złego sformułowania, za co przepraszam. O ograniczeniu odnośnie edycji bloków dynamicznych w wersji clasic byłem świadomy i nie stanowiłi to dla mnie problemu. Nie mniej jednak, w wersji clasicc nie znalazłem możliwości zliczenia ilości tych samych bloków (qselect i eksport atrybutów). Natomiast w momencie, gdy zapiszę jakiekolwiek zmiany w rysunku w programie ZwCAD classic - to zmieni on nazwy tych bloków na *Uxxx - i uniemożliwi ich zliczenie np. a AutoCadzie. Mam nadzieję, że w wersji 2017 (na która nie mogę się już doczekać) kwestia ta jest "wyprostowana". Nazywanie kolejnych bloków w sposób *U1, *U2 ... byłoby do zaakceptowania, gdyby w obrębie jednego typu bloku była wartość pozwalająca go łatwo wyodrębnić. Niestety nr są nadawane kolejnym blokom, nie zależnie od ich rodzaju Byłoby bardzo fajnie, gdyby istniała możliwość wyciągnięcia zestawień nazw bloków w wersji classic, i jeśli znacie na to sposób - to bardzo bym prosił o jego opisanie. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 20 Maja 2016 Zgłoś Udostępnij Opublikowano 20 Maja 2016 W 2017 bloki dynamiczne będą działały identycznie jak w ZWCAD 2015. Sprawdzimy początkiem przyszłego tygodnia, czy jest możliwość zliczania po wspólnej nazwie, a nie po *UX. Pozdrawiam Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harry Opublikowano 23 Maja 2016 Autor Zgłoś Udostępnij Opublikowano 23 Maja 2016 W 2017 bloki dynamiczne będą działały identycznie jak w ZWCAD 2015. Sprawdzimy początkiem przyszłego tygodnia, czy jest możliwość zliczania po wspólnej nazwie, a nie po *UX. Pozdrawiam Dziękuję Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 24 Maja 2016 Zgłoś Udostępnij Opublikowano 24 Maja 2016 Korzystając z LISP spróbowałem odczytać nazwę bloku dynamicznego którego reprezentacją jest blok * Ux. Wymaga to kilku kroków. Może nie będę zanudzał szczegółami, ale w skrócie powiem, że informacja o oryginalnym bloku dynamicznym, nie jest zapisana bezpośrednio w bloku Ux, ale w bloku są odwołania do innych miejsc z bazy danych rysunku, przez które trzeba przejść żeby zidentyfikować bazowy blok dynamiczny.W ZWCAD+ 2015 udaje się to bez problemu, natomiast uruchamiając ten sam program na ZWCAD Classic w pewnym miejscu pojawia się tzw obiekt proxy. W tym przypadku jest to poważny problem, bo żeby móc przetłumaczyć proxy na blok dynamiczny sam ZWCAD musi mieć obsługę tych bloków.Niestety na chwilę obecną nie daje nam to możliwości odczytania nazwy oryginalnego bloku dynamicznego w ZWCAD Classic.Natomiast z deklaracji ZWSOFT wynika, że w ZWCAD 2017 obsługa bloków dynamicznych ma być analogiczna jak w ZWCAD+ 2015. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 24 Maja 2016 Zgłoś Udostępnij Opublikowano 24 Maja 2016 (edytowane) 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. Edytowane 24 Maja 2016 przez kojacek Harry 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harry Opublikowano 25 Maja 2016 Autor Zgłoś Udostępnij Opublikowano 25 Maja 2016 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. Dziękuję za wskazówki. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 28 Maja 2016 Zgłoś Udostępnij Opublikowano 28 Maja 2016 Tutaj szerszy opis: https://kojacek.wordpress.com/autolisp/obiekty-niegraficzne/tablice-symboli/blok-effectivename/ Harry 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.