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) )
|