LISP AutoCAD - etykiety wysokości


Rekomendowane odpowiedzi

Dzień dobry, 

zwracam się z uprzejmą prośbą o pomoc. Programowanie nie jest moją mocną stroną, a zwłaszcza składnia do której nawiążę.

Przygotowuję prosty LISP do wykorzystania w oprogramowaniu Autodesku. Jego główne zadania to pobranie wartości Z wskazanego przez kliknięcie punktu oraz wstawienie punktu i etykiety z wartością wysokości w postaci tekstu.

Docelowy wygląd:

image.png.91f0b83efe1f16bbd4238b099cb9244f.png

Mój problem polega na niewiedzy,  jaki sposób poprawić ten dość banalny kod który załączam, aby:

1. Tekst wstawiał się w wysokości 0.3m (nie ma konieczności definicji przez użytkownika w programie)?

2. Położenie tekstu (Position Z) odpowiadała wartości Z wskazanego punktu? 

(defun c:lh (/  p x y ptcoord textloc)
(while
    (setq p (getpoint "\nPick Point: "))
    (command "_POINT" p)
    (setq z (rtos (caddr p)))
    (setq ptcoord (strcat z))
    (setq textloc (getpoint "\nPick Label Location: "))
    (command "_TEXT" textloc p "" ptcoord "")
  )
)

Z góry dziękuję za jakiekolwiek wskazówki! 

Odnośnik do komentarza
Udostępnij na innych stronach

Może tak:

(defun c:lh (/  p x y ptcoord textloc)
(while
    (setq p (getpoint "\nPick Point: "))
    (command "_POINT" p)
    (setq z (rtos (caddr p)))
    (setq ptcoord (strcat z))
    (setq textloc (getpoint "\nPick Label Location: "))
	
    (command "_TEXT"  (list (car textloc) (cadr textloc) (caddr p) ) 0.3 0 ptcoord  ""	)
  )
)
Odnośnik do komentarza
Udostępnij na innych stronach

Tak, dokładnie o to mi chodziło, dzięki wielkie za pomoc!

W razie potrzeby, konieczne jest ewentualne dostosowanie kąta obrotu tekstu (zależnie od wersji AutoCADa). W moim przypadku delikatna modyfikacja kodu przyniosła oczekiwany efekt.

(defun c:lh (/  p x y ptcoord textloc)
(while
    (setq p (getpoint "\nPick Point: "))
    (command "_POINT" p)
    (setq z (rtos (caddr p)))
    (setq textloc (getpoint "\nPick Label Location: "))
    (command "_TEXT"  (list (car textloc) (cadr textloc) (caddr p) ) 0.3 90 ptcoord  ""	)
  )
)

 

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