_

zaznaczanie obiektów danego

Archiwum grupy newsowej pl.comp.cad. Na razie tylko do czytania i przeszukiwania.

zaznaczanie obiektów danego

Postprzez mwojc » maja 14, 2010 15:34

Witam!

Wiecie może jak w Autocadzie zaznaczyć na rysunku wszystkie obiekty danego
typu, np. punkty, linie czy polilinie, nie klikając każdego po kolei? Mam
Autocada 2006.

Pytam, bo potrzebuję wygrzebać z rysunku autocada współrzędne X,Y,Z
wszystkich punktów jakie się na nim znajdują. Są ich tysiące, więc sami
rozumiecie...

Pzdr,
--
Marek
mwojc
 

Re: zaznaczanie obiektów danego typu

Postprzez PiotrB. » maja 14, 2010 15:53

Dnia 14-05-2010 o 15:34:28 mwojc <mwojc@jakisserwer.pl> napisał(a):

> Wiecie może jak w Autocadzie zaznaczyć na rysunku wszystkie obiekty
> danego typu, np. punkty, linie czy polilinie, nie klikając każdego po
> kolei? Mam Autocada 2006.

_qselect

pozdr. Piotr
PiotrB.
 

Re: zaznaczanie obiektów danego typu

Postprzez Bartosz » maja 15, 2010 22:19

W dniu 2010-05-14 15:34, mwojc pisze:
> Witam!
>
> Wiecie może jak w Autocadzie zaznaczyć na rysunku wszystkie obiekty
> Marek

'filter
Ale to Ci niewiele pomorze.
Lepszy byłby lisp, który je zapisuje do pliku txt
Bartosz
 

Re: zaznaczanie obiektów danego typu

Postprzez Bartosz » maja 15, 2010 22:58

W dniu 2010-05-15 22:19, Bartosz pisze:
> Lepszy byłby lisp, który je zapisuje do pliku txt
PoniĹźszy program wybiera tylko obiekty typu POINT i wypisuje ich
współrzędne. 10min pracy oczywiście bazując na kodzie innej funkcji.
Watro popracować nad lispami. Ten jest napisany bez activex


(defun dxf (code elist)
(if (= (type elist) 'ENAME)
(cdr (assoc code (entget elist)))
;Znajduje pare, usuwa 1szy element
(cdr (assoc code elist))
)
) ;defun
(defun c:punkty (/ zbiór dług licznik)
(command "redraw")
(princ
"Wskarz punkty; wszystkie <Enter>: "
)
(setq
zbiĂłr
(ssget
'((0 . "POINT")
)
) ;ssget
) ;setq
(if (= zbiĂłr nil)
(setq
zbiĂłr
(ssget "X"
'((0 . "POINT")
)
) ;ssget
) ;setq
) ;if
(setq
dług (sslength zbiór)
licznik 0
) ;setq
(repeat dług
(princ "\n")
(princ (dxf 10 (entget (ssname zbiĂłr licznik))))
(setq licznik (1+ licznik))
) ;repeat
(princ)
) ;defun
(princ "\nwypisywanie współzednych - komenda PUNKTY")
;===========================================================
Bartosz
 


Powrót do pl.comp.cad

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników