Vytisknout stránku | Zavřít okno

Suradnice bodov autoLISP pomoc

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=25284
Datum vytištění: 13.kvě.2026 v 22:21


Téma: Suradnice bodov autoLISP pomoc
Odeslal: majo6541
Předmět: Suradnice bodov autoLISP pomoc
Datum odeslání: 21.lis.2017 v 11:49
Dobrý deň

Potreboval by som pomoc s jedným LISP suborom. A to konkretne Suradnice bodov.
Kedže moje znalosti nie sú rozsiahle potreboval by som pomoc.

Užívateľ v Autocade zadá suradnice bodov. Okrem toho ze bod vykresli tak pri kazdom bode vypise jeho poradove cislo X a Y súradnice. 

Dakujem Smile



Odpovědi:
Odeslal: johny
Datum odeslání: 21.lis.2017 v 14:33
Původně odeslal(a) majo6541 majo6541 napsal(a):

...
Potreboval by som pomoc s jedným LISP suborom. ...
Kedže moje znalosti nie sú rozsiahle potreboval by som pomoc.
...

Možná byste chtěl začít znovu a pravdivěji. Nebo opravdu chcete jen napomoct? Dát nápovědu a chytnete se?

Edit: Netuším proč nemáte odvahu něco napsat... diskusi evidentně sledujete, nikdo vás soudit nebude. Ale budiž. 

Takovýchto prográmků kolují po netu desítky, stačí trochu googlit. A jsou velmi jednoduché, i začátečník by je napsal... Tak jsem něco nahodil... Když na to kouknete, tak si to pomocí komentářů (středníkem) můžete upravit, že buď to budete labelovat mleaderem nebo mtextem, no a ten buď umísťovat ručně nebo automaticky. 

(defun c:PointLabel (/ pnt txt)
  
  (or *pl-n*
      (setq *pl-n* 1))
  
  (if (setq *pl-n* (cond ((getint (strcat "\nStart with <" (itoa *pl-n*) ">:" )))
(*pl-n*)))
    (while (setq pnt (getpoint (strcat"\rPlace point no. " (itoa *pl-n*) ": ")))
      (setq pnt (trans pnt 1 0)
    txt (strcat (itoa *pl-n*)
"\n"
(rtos (car pnt) 2 3)
"\n"
(rtos (car pnt) 2 3)))

      (entmakex (list (cons 0 "POINT")
      (cons 10 pnt)))
      (entmakex (list (cons 0 "MTEXT")
      (cons 100 "AcDbEntity")
      (cons 100 "AcDbMText")
      (cons 10

;;;     MTEXT poloha automaticky
    ;(polar pnt (* 1.75 pi) (* 2. (getvar 'TEXTSIZE)))

;;;     MTEXT poloha ručně
    (progn (initget 1) (trans (getpoint " --> Place text: ") 1 0))
    )
      (cons 1 txt)
      (cons 50 0)
      (cons 71 1)
      (cons 72 5)))

; varianta MLEADER      

      ;(command "_.MLEADER" "_non" (trans pnt 0 1) PAUSE txt)
      
      (setq *pl-n* (1+ *pl-n*))))
  (princ)
  )


Odeslal: zdrk
Datum odeslání: 22.lis.2017 v 10:45
Je několik aplikací už vytvořeno, stačí případně jen lehce poupravit.
Vkládá se blok nebo bod.



Vytisknout stránku | Zavřít okno