dmatusz3

Administratorzy
  • Postów

    4000
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    328

Treść opublikowana przez dmatusz3

  1. Trochę myśleliśmy nad ścieżkami względnymi. Stworzyliśmy małego LISPa, który po wskazaniu Xrefa, zamienia ścieżkę z bezwzględnej na względną. Pokazałem to na filmie. Po przeciągnięciu LISPa w obszar rysunku pojawi się nowe polecenie WZGLEDNYXREF Bardzo proszę o ostrożność, nie testowaliśmy zbyt długo tego LISPa WzglednyXRef.lsp Oto kod źródłowy ;---------------------------------------------------------- ; Usługi Informatyczne SZANSA Sp. z o.o. ; Zamiana ścieżek bezwzględnych w XRefach na względne ; ; ; ---------------------------------------------------------- (defun C:wzglednyXRef ( / xrefs % *error*) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nC:wzglednyXRef:*error*: " ) (princ msg ) (princ "\n") ) ) ) ( setq xrefs (SelSet:Get "Wybierz XRefy" (list "INSERT" ) )) (foreach % xrefs ( makeRelative %) ) (princ ) ) ;(vlax-dump-object (car xrefs) t ) ;(entget ( vlax-vla-object->ename (cadr xrefs) ) ) (defun makeRelative ( block / oldPath newPath ans *error*) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nmakeRelative:*error*: " ) (princ msg ) (princ "\n") ) ) ) (if (vlax-property-available-p block 'path ) (progn (setq oldPath (vlax-get-property block 'path ) ) (print oldPath ) (print "zmieniam na: " ) (setq newPath (strcat "./" (vl-filename-base oldPath) (vl-filename-extension oldPath) ) ) (print newPath ) (setq ans(vl-catch-all-apply 'vlax-put-property (list block 'path newPath ) ) ) ) ) nil ) (defun SelSet:ToList (selset / Wynik ileelementow i *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nSelSet:ToList:*error*: " ) (princ msg ) (princ "\n") ) ) ) (if selset (progn (setq ileelementow(sslength selset) ) (setq i 0 ) (repeat ileelementow (setq Wynik (append Wynik (list (vlax-ename->vla-object(ssname selset i) ) ))) (setq i (1+ i )) ) )) Wynik ) (defun SelSet:FilterByType ( elementy typy / sl i % *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nSelSet:FilterByType:*error*: " ) (princ msg ) (princ "\n") ) ) ) ; (setq elementy (ssget ) ) (setq sl (sslength elementy)) (setq i (1- sl )) (repeat sl (setq % (ssname elementy i)) (if (not (member (cdr(assoc 0 (entget %) )) typy)) (setq elementy(ssdel % elementy)) ) (setq i (1- i) ) ) ) (defun SelSet:Get (tresc typy / selElems elementy Filter % OldNoMutt *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\n SelSet:Get:*error*: " ) (princ msg ) (princ "\n") ) ) ) ;---------------------------------------------------------- ; funkcja sprawdza, czy jakieś elementy zostały zaznaczone, jeśli nie, prosi użytkownika o wskazanie obiektów ; Argumenty: tresc - komunikat wyświetlany w pasku poleceń zachęta do wskazanie obiektów ; Wynik: lista wybranych obiektów jeśli coś zostało wybranie ; nil jeśli nic nie zostało wybrane. ; ---------------------------------------------------------- ; versja 2.0 ; dodane filtrowanie typów ; ---------------------------------------------------------- ; test: ;(sslength (ssget (list (cons 0 "3DSOLID") ))) ; ---------------------------------------------------------- (if typy (progn (if (listp (car typy) ) (setq Filter typy ) (progn (setq Filter (list (cons -4 "<or" ))) (foreach % typy (setq Filter (append Filter (list (cons 0 % ) ))) ) (setq Filter (append Filter (list (cons -4 "or>" ) ))) ) ) )) (setq selElems(ssgetfirst )) (if (car selElems) (progn (setq elementy (SelSet:ToList(SelSet:FilterByType selElems typy))) ) (progn (setq tresc (strcat "\n" tresc ": ") ) (princ tresc ) (setq OldNoMutt (getvar 'NOMUTT)) (setvar 'NOMUTT 1) (setq elementy (if (null Filter) (vl-catch-all-apply 'ssget ) (vl-catch-all-apply 'ssget (list Filter )) ) ) (setvar 'NOMUTT OldNoMutt ) (if (not(vl-catch-all-error-p elementy)) (progn (setq elementy (SelSet:ToList elementy )) ) (progn (setq elementy nil) ) ) ) ) elementy )
  2. Nie jesteśmy pewni za bardzo czy chodzi o coś takiego, ale własne style kreskowania możemy dodać do palety narzędzi.
  3. Automatyczna aktualizacja włączy się po wydaniu wersji oficjalnej, czyli początkiem kwietnia. Obecnie potrzebne jest odinstalowanie poprzedniej wersji i instalacja nowej.
  4. U mnie taki sposób działa również poprawnie. Proszę spróbować zamiast "r" wpisać "_r".
  5. Rozumiem, że chodzi Panu o ten przycisk (ZWCAD 2015) Usuwał Pan część ścieżki przed nazwą pliku, a następnie zapisywał. W wyniku tego w "Saved path" pojawiał się ścieżka względna. W 2018 nie ma jeszcze tego przycisku do zapisywania ścieżek (zapisują się automatycznie po wyjściu z okna) ale ciężko jest ustawić ścieżkę względną. Postaramy się sprawdzić czy jest taka możliwość. Obawiam się, że okna nie da się łatwo wyłączyć natomiast różnicy w reakcji na przyciski tak/nie wynika z faktu, że tak wywołuje polecenie XREF zamiast _XREF. Myślę, że tutaj alias mógłby pomóc. Postaramy się dowiedzieć czegoś więcej, ale jak skończą się święta.
  6. Klawisz F12 wyłącza i włącza wprowadzanie dynamiczne. U mnie zaokrąglenie działa, może podał Pan zbyt duży promień?
  7. Dziękuję za informacje, bylibyśmy wdzięczni jeśli mógłby Pan podesłać ten rysunek w wiadomości prywatnej.
  8. Witam, czy to się dzieje na konkretnym rysunku, czy niezależnie? jaka jest wartość zmiennej PLINETYPE ? czy wcześniej w tej wersji rysował Pan już elipsę? czy to zawieszanie powoduje powstanie błędu i program się zamyka, czy kręci się tylko kółko wskaźnika myszki?
  9. Dzięki za info. Obrazy rastrowe są zamieniane na format wewnętrzny. Przy pierwszym otwarciu rysunku, to może czasami nieco potrwać, szczególnie przy kilku rastrach. Natomiast później program korzysta już z cache (mechanizm opisaliśmy niegdyś tutaj https://www.zwcad.pl/plus-2012/zwcad-2012-sp2/nowy-silnik-do-rastrow.html ) Nie jestem pewien, ale kiedyś słyszałem, że w wersjach beta jest zwiększony poziom rejestracji błędów. W wersjach oficjalnych zapisywane są np. tylko błędy krytyczne, natomiast w becie zapisują się także mniej ważne ostrzeżenia. Myślę, że to także może mieć pewien wpływ.
  10. Nie wiem. Próbuję uzyskać taki efekt, ale u mnie jest tak. Może jakaś zmienna, poszukamy i zapytamy ale odpowiedź otrzymamy za kilka dni z powodu świąt.
  11. Dziękuję bardzo za informacje. Zatem zamykam wątek.
  12. Ukazała się wersja beta 2018 SP2. Zawiera kilka nowych funkcji, ulepszeń i poprawek. Opis oraz linki do pobrania dostępne są tutaj https://www.zwcad.pl/zwcad-2018/zwcad-2018-sp2-beta.html Wersja oficjalna jest planowana na 2 kwietnia.
  13. Faktycznie, wygląda na to, że problemy mają wspólną przyczynę. Połączę tematy, także w systemie połączymy te zgłoszenia w jeden.
  14. Proszę spróbować wpisać tekst w notatniku, skopiować i wkleić do komórki tabeli. Czy w ten sposób wyświetlą się polskie znaki? Przyjrzymy się bliżej problemowi w poniedziałek.
  15. Dziękuję za pliki i opis, jutro będziemy je analizować.
  16. Nie za bardzo mam teraz jak sprawdzić. Cy ten arkusz ma wymiary 1292 x 914 mm? Jest przeskalowany w obu kierunkach, czy w jednym?
  17. Potwierdzam, sprawdzałem to przy współrzędnych około 1*E^10 i faktycznie offset polilinii działa niezgodnie z oczekiwaniami. Postaram się jutro dowiedzieć czegoś więcej.
  18. Tak sobie myślę czy usypia Pan komputer z otwartymi plikami w ZW?
  19. Dzięki za info. A jaka jest data tych plików dwl? Mniej więcej aktualna, czy starsze (miesiąc, pół roku)?
  20. Raczej w 100% inaczej Sprawdzałem plik blokady u mnie pojawia się po otwarciu pliki i znika po zamknięciu. W jakim miejscu Pan zapisuje pliki (na dysku sieciowym, lokalnym, w katalogu użytkownika, w katalogu z usługą synchronizacji)? Czy jeśli zapisze Pan nowy rysunek pusty i go zamknie to plik dwl zniknie? Czy ten problem występuje tylko na określonych plikach?
  21. Ja robię to w taki sposób (innego nie znalazłem). Plik z obliczeniami obliczenia-forum.sm