lukaasz

Użytkownik forum
  • Postów

    2
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia lukaasz

Początkujący

Początkujący (1/6)

0

Reputacja

  1. Super, bardzo dziękuję za wskazówki. Problem ma tylko taki, że coś mi wyświetla cały czas tą samą nazwę bloku przy każdym INSERT, a nie wiem za bardzo czemu. (defun C:raport () ;tworzy raport obiektow znajdujacych sie na danej warstwie (setq dlugosc_warstwy (getstring "Podaj nazwe warstwy: ")) (setq zb1 (ssget "X" (list (cons 8 dlugosc_warstwy)))) (if(= zb1 nil) (progn (princ "\nZbior wyboru nie zawiera elementow.\n") ) ) (if (> (sslength zb1) 0) (progn (textscr) (princ "\n") (princ "Liczba elementow w zbiorze wyboru: ") (princ (sslength zb1)) (princ "\n") (setq dlugosc (sslength zb1) i 0) (repeat dlugosc (progn (setq lista_dxf (entget (ssname zb1 i))) (setq EntName (cdr (assoc 0 lista_dxf ))) (setq num (cdr(car lista_dxf))) (setq wpocz2 (cdr (assoc 0 (entget num)))) (setq wpoczl (cons wpocz2 wpoczl)) (setq i (1+ i)) ) ) (setq i 0) (repeat dlugosc (cond ((= EntName "INSERT") (progn (princ i) (princ (nth i wpoczl)) (princ (cdr (assoc 2 lista_dxf ) ) ) ; nazwa bloku (princ "\n") )) ((or(= EntName "LIGHTWEIGHTPOLYLINE")(= EntName "POLYLINE")) (progn (princ "polilinia ") )) ((= EntName "CIRCLE")(progn (princ "okrąg") ) ) ((= EntName "ARC") (progn (princ "łuk") )) ((= EntName "LINE") (progn (princ "linia") )) (t (princ "Wybrales cos innego") ) ) (setq i (1+ i)) ) (graphscr) ) ) (princ) )
  2. Witam, Czy jest ktoś w stanie pomóc przy dokończeniu programu, który wypisuje nazwy elementów rysunkowych (linii, polilinii, okręgów) pod podaną warstwą? Na tą chwilę mam tak, że po podaniu nazwy warstwy wypisuje mi: 1 LWPOLYLINE 2 LWPOLYLINE 3 CIRCLE 4 INSERT itd. Potrzebuję, aby za "INSERT" wypisać jeszcze nazwę bloku, a dla pozostałych obiektów współrzędne punktów, np. dla polilinii współrzędne pkt początkowego i końcowego, dla okręgu współrzędne środka itp. Dodam, że jestem całkowicie początkujący. Oto co mam do tej pory: (defun C:raport () (setq nazwa_warstwy (getstring "Podaj nazwe warstwy: ")) (setq zb1 (ssget "X" (list (cons 8 nazwa_warstwy)))) (if(= zb1 nil) (progn (princ "\nZbior wyboru nie zawiera elementow.\n") ) ) (if (> (sslength zb1) 0) (progn (textscr) (princ "\n") (princ "Liczba elementow w zbiorze wyboru: ") (princ (sslength zb1)) (princ "\n") (setq nazwa (sslength zb1) i 0) (repeat nazwa (progn (setq wsk (ssname zb1 i) lista_dxf (entget wsk)) (setq num (cdr(car lista_dxf))) (setq w2 (cdr (assoc 0 (entget num)))) (setq wl (cons w2 wl)) (setq i (1+ i)) ) ) (setq i 0) (repeat nazwa (progn (princ i) (princ (nth i wl)) (princ "\n") (setq i (1+ i)) ) ) (graphscr) ) ) (princ) )