LISP - przesuwający obiekty w osi Z co 1 jednostkę


Rekomendowane odpowiedzi

Mam przebieg linii i łuków (jak rozbita polilinia) w ACad i chciałbym teraz wyeksportować niektóre dane do tabeli (długość, promień, zakres kąta) i to jest proste. Ale tez potrzebuję mieć uporządkowaną tabelę z kolejnością odcinków. Pomyślałem, że skoro pracuję na płaskich rysunkach to współrzędna Z będzie pomocna. I teraz jaki LISP mi się marzy:

Po uruchomieniu LISP-a system ustawia licznik na z=1, następnie wykonuje pętlę:

  1. system czeka na wskazanie kolejnego obiektu. Po wskazaniu obiektu system przesuwa go o wektor [0,0,z];
  2. system zwiększa licznik o jeden (z = z+1)
    / koniec iteracji

Zakończenie pętli następuje po naciśnięciu Esc lub określonego klawisza.

Po wykonaniu programu mam przebieg odcinków i łuków ale (o ile starannie klikałem) każdy kolejny jest przesunięty i jedną jednostkę więcej na osi Z.

W tym momencie przechodzę do eksportu danych z wybranych obiektów (funkcja DATAEXTRACTION w ACad), wybieram interesujące mnie pola danych, a między innymi współrzędną Z która staje się dla mnie liczbą porządkową).

W kolejnym etapie można byłoby wrzucić DATAEXTRACTION do LISP-a.

Ktoś pomoże?

Odnośnik do komentarza
Udostępnij na innych stronach

Witam

A może łatwiej by było zamienić ten zestaw linii i łuków w polilinie właśnie i przeprocesować polilinię która już będzie uporządkowana ze swej natury? Kwestia tylko wskazania który koniec jest początkiem. Innym rozwiązaniem mogło by być dodanie XDATA do obiektów linia/łuk ale trzeba do tego też stworzyć system zarządzania kolejnością. Kolejność na podstawie rzędnej Z jak dla mnie wzbudza pewną kontrowersję :)

Odnośnik do komentarza
Udostępnij na innych stronach

Znam metody łączenia w polilinię ale dodam, że składanka na rysunku przedstawia przebieg przenośnika łańcuchowego, który ma też zakręty i podjazdy w pionie, które w miejscu występowania na rysunku nie mają kontynuacji przebiegu, ale są przedstawione jako fragmenty rzutów z innego kierunku.
image.png.beddc47c380bfd1a73aaeb0971c56c09.png

 

Czy jeżeli analizuję polilinię, to system wyrzuci mi długości poszczególnych segmentów, ich promienie i zakresy kątów, czy taka analiza musiałaby być przeprowadzona już w arkuszu kalkulacyjnym? Bo z liniami i łukami nie ma takiego problemu.

Edytowane przez toma1982
Odnośnik do komentarza
Udostępnij na innych stronach

23 godziny temu, perlon napisał:

Każdą osobną polilinię można procesować wskazując w odpowiedniej kolejności chyba że chcesz zagarnąć wszystkie i dostać wynik. To wtedy trzeba by te polilinie ponumerować (XDATA albo atrybuty jakieś w blokach)

 

Aktualnie pracuję na GStarCAD, próbowałem wyeksportować dane polilinii ale dziwna rzecz się dzieje: Polilinia ma 10 wierzchołków i eksportuja sie współrzędne tylko ostatniego wierzchołka. Jeżeli masz okazję sprawdzić DATAEXTRACTION w AutoCad, proszę sprawdź jaka jest zawartość pliku, czy wszystkie wierzchołki są wyciągane do pliku. Ale mimo tego nie widzę, żeby interesujące mnie parametry były wyciągane z polilinii. Kiedy porozbijam PLINE na drobne, mam dostep do interesujących mnie danych bezpośrednio z programu w właściwościach obiektu (długość linii, długość łuku, promień łuku, zakres kąta łuku). W tym kierunku bym poszedł.

Odnośnik do komentarza
Udostępnij na innych stronach

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ą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie