text_to_point LISP skript

February 14th, 2014 § 1

Pokiaľ máte to šťastíčko a projektanti vám odovzdávajú výkresy s niveláciou vo forme textových hodnôt (text v nulovej výške), tak tu Lisp skript, ktorý text-value konvertuje na point z-coordinate.

(defun C:Text_to_Point (/ ss Z_value temp koord)
  (if (setq ss (ssget "_:L" '((0 . "Text"))))
    (progn
      (initget "Koord Value")
      (setq
	Z_value	(getkword "\nTake Z from [Koord/Value]? <Value>:")
	Z_value	(if Z_value
		  Z_value
		  "Value"
		)
	ss	(vl-remove-if-not
		  '(lambda (x) (= (type x) 'ENAME))
		  (mapcar 'cadr (ssnamex ss))
		)
      )
      (foreach item ss
	(setq temp  (entget item)
	      koord (cdr (assoc 10 temp))
	      koord (if	(eq Z_value "Value")
		      (list (car koord)
			    (cadr koord)
			    (atof (cdr (assoc 1 temp)))
		      )
		      koord
		    )
	)
	(entdel item)
	(entmakex
	  (list
	    '(0 . "POINT")
	    (cons 10 koord)
	  )
	)
      )
    )
  )
)

§ 1 komentár k “text_to_point LISP skript”

kde som? / where am i?

práve čítaš text_to_point LISP skript v ďobo-CADzone, true men don't kill coyotes and use AutoCAD….

meta