kojacek

Użytkownik forum
  • Postów

    272
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    44

Treść opublikowana przez kojacek

  1. W AutoCAD widać wszystko ok. Na początku jest komunikat o braku czcionki, chodzi o symbole. Na zrzucie pokazuję jakiej czcionki i dla jakiego stylu:
  2. To raczej niemożliwe. Tekstów brak wszędzie, w opisach, atrybutach, wymiarach. Ponadto, takie działanie nie miałoby żadnego uzasadnienia. AutoCAD ma mechanizm podstawiania czcionek zastępczych (z określeniem co może być zastąpione). Nie ma sytuacji, aby tekst się nie pojawił - gdy nie ma żadnej odpowiedniej czcionki, AutoCAD, podstawia standardową dla wszystkich tekstów. Styl tekstu STANDARD, jest nieusuwalny.
  3. Nie wiem czy dobrze czytam i patrzę, ale odnoszę wrażenie że w AutoCAD widać wszystko dobrze?
  4. Sprawdź teraz: ;;; (vl-load-com) ;;; (defun C:CDIST (/ sa sb vo re) (if (setq sa (nentselp "\nWskaz pierwszy punkt na krzywej: ")) (if (setq sb (nentselp "\nWskaz drugi punkt na krzywej: ")) (if (and (eq (car sa)(car sb))) (progn (setq vo (vlax-ename->vla-object (car sa))) (setq re (abs (- (vlax-curve-getDistAtPoint vo (vlax-curve-getClosestPointTo vo (cadr sa) t) ) (vlax-curve-getDistAtPoint vo (vlax-curve-getClosestPointTo vo (cadr sb) t) ) ) ) ) ) (princ "\nWskazano rózne obiekty. ") ) (princ "\nNic nie wskazano. ") ) (princ "\nNic nie wskazano. ") ) (if re re (princ)) )
  5. Zawsze można użyć LISP-a: Poniższy kod pozwoli zmierzyć długość elementu dowolnej krzywej pomiędzy dwoma punktami na niej wskazanymi: ;;; (vl-load-com) ;;; (defun C:CDIST (/ sa sb vo) (if (setq sa (nentselp "\nWskaz pierwszy punkt na krzywej: ")) (if (setq sb (nentselp "\nWskaz drugi punkt na krzywej: ")) (if (and (eq (car sa)(car sb))) (progn (setq vo (vlax-ename->vla-object (car sa))) (abs (- (vlax-curve-getDistAtPoint vo (vlax-curve-getClosestPointTo vo (cadr sa) t) ) (vlax-curve-getDistAtPoint vo (vlax-curve-getClosestPointTo vo (cadr sb) t) ) ) ) ) (princ "\nWskazano rózne obiekty. ") ) (princ "\nNic nie wskazano. ") ) (princ "\nNic nie wskazano. ") ) (princ) ) .
  6. Bezpośrednio nie ma. Choć można wysmażyć krótkiego lisp-a. Inna sprawa - w węzłach polilini nie będzie raczej "prostopadłych".
  7. Nie tam żebym upierał się aby odwodzić was od komplikowania sobie pracy, ale... może warto wykorzystać opcję _block do podziału?
  8. Swego czasu (miljon lat temu...) w AutoCAD-zie, robiłem coś takiego: http://kojacek.republika.pl/bkg.html
  9. To jeszcze prostsze ;) Język ów nazywa się: AutoLISP
  10. To proste, z wymienionej wyżej linii usuń sekwencję znaków "_x" Wtedy wywołanie: (if (setq % (ssget '((0 . "LINE")(62 . 5)(410 . "Model"))))(sslength %) 0) poprosi Cię o wskazanie obiektów
  11. Nie tam żebym się wtrącał czy coś,... ale wystarczy w linii poleceń wpisać: (if (setq % (ssget "_x" '((0 . "LINE")(62 . 5)(410 . "Model"))))(sslength %) 0) i zaakceptować enterem... Takie proste (bezbajtowe wręcz) wklepanie z klawiaturki, ma tę przewagę nad skompilowanymi plikami *.zel (nic im nie ujmując), że można zawsze zmienić dowolnie albo rodzaj obiektu czy kolor, bez tworzenia nowego pliku, definicji polecenia i podpinania ikonek. Może to i mniej spektakularne rozwiązanie, ale w mojej opinii bardziej elastyczne... Jutro kolega będzie chciał wybrać czerwone łuki... i co będzie?
  12. kojacek

    Rebus piątkowy

    Kombinator. Z tej samej bajki co kombinerki i kombinezon... :)
  13. kojacek

    Rebus piątkowy

    Dziś dziecinnie prosty... :)
  14. kojacek

    Rebus piątkowy

    Aparat do robienia chmury punktów. Bezsprężynowy... ;)
  15. kojacek

    Rebus piątkowy

    Dobre! Gratulacje! Też coś kombinowałem na początku z tym T, ale coś takie mało teowate mi się zdałowało, więc zarzuciłem... :)
  16. kojacek

    Rebus piątkowy

    Dzięki :) To samo, nieco inaczej:
  17. kojacek

    Rebus piątkowy

    Piernik?
  18. Służyło się... w lotnictwie... ;) to się wie... :)
  19. ORP Władysławowo w Kołobrzegu?
  20. Jedynym problemem jaki widzę, to prawidłowy wybór obiektów. Myślę jednak że 8-10 linijek rozlazłego kodu LISP-owego, załatwiło by sprawę.
  21. To jest dokładnie taka sama zabawa jak już wcześniej wspominane nieszczęsne zestawienie stolarki (atrybutyzacja vs. xrecordowanie). Właściwie nie ma różnicy czy obiekt jest dwu czy trójwymiarowy. Problemy z zarządzaniem tymi danymi będą podobne. W mojej opinii, najbardziej optymalnym rozwiązaniem jest przypisywanie do obiektu tylko tych danych które są dla niego unikalne (idntyfikatory), lub są konieczne (vide: wymiary stolarki w szpilce). Wszelkie inne, powinny być przechowywane, albo na zewnątrz (w osobnych plikach (tekstowych xls-ach, db-ach, mbd-ach itp.)), albo jako dane niegraficzne czyli słowniki + xrecordy + itp. w rysunku. Oczywiście - w zależności od potrzeb - możliwe rozwiązania mogą być również mieszane.
  22. Nie, nie ma za co przepraszać, po prostu zabrzmiało to mocno konkretnie, zatem zapytałem :) Na marginesie moją wiedzę "programistyczną" trzeba traktować raczej amatorsko i hobby-stycznie. Wynika ona jedynie z długowiecznego obcowania ( ;) ) z CAD-em...
  23. Nie rozumiem formy "stosujecie" - bowiem sugeruje ona jakieś konkretne rozwiązania. Funkcjonalność o której mowa, może być realizowana na co najmniej kilka różnych sposobów. Identyfikacja obiektu - tak samo, może polegać na typowych identyfikatorach rysunkowych, jak też własnych (np. przez dowiązanie XDATA czy ExtensionDictionary). To też może determinować sposób przechowywania innych danych, np. w samym obiekcie, lub w osobnym słowniku (-ach), a jedynie "adresowanie" do niego identyfikatora obiektu. Możliwych rozwiązań jest naprawdę wiele.
  24. Zwyczajnym LISP-em: (vl-load-com) ; ------------ (defun _Get3DSolid (Hand / e) (if (and (setq e (handent Hand)) (= (cdr (assoc 0 (entget e))) "3DSOLID") ) (vla-get-volume (vlax-ename->vla-object e)) ) ) Potem wywołanie: (_Get3DSolid "404f7") i masz.
  25. Jak rozumiem - dość gładko przeszliśmy od danych niegraficznych do brył?