Message 1 of 9
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi guys,
Based on this thread:
@Ranjit_Singh built that excellent code!
I'm trying to understand the code, and I need some help with this.
That code insert the text as a field and I'd like to change to text.
;;Ranjit Singh ;;8/22/17 (defun c:sf (/ ent ang dat) (setq o_layer (getvar 'CLAYER)) (setq o_echo (getvar 'CMDECHO)) (setvar 'CMDECHO 0) (command "_.layer" "_T" "-AREA-LOTE" "_M" "-AREA-LOTE" "c" "1" "" "" "_.layer" "_T" "-AREA-LOTE" "_U" "-AREA-LOTE" "_M" "-AREA-LOTE" "c" "2" "" "") (setq fmt "%lu6%qf1%ps[,m²]%ds44%th46") ;; Text height (if (setq h (getdist (strcat "\nSpecify text height <" (rtos (getvar 'textsize)) ">: "))) (setvar 'textsize h) (setq h (getvar 'textsize)) ) (mapcar '(lambda (x) (entmakex (list '(0 . "TEXT") '(10 0 0 0) (cons 40 h) ;(cons 1 ;(strcat "%<\\AcObjProp Object(%<\\_ObjId " ;(itoa (vla-get-objectid (vlax-ename->vla-object (setq ent x)))) ;">%).Area \\f \"" ;fmt ;"\">%")) (cons 1 (strcat (vl-string-translate "." "," (rtos (getpropertyvalue (setq ent (car (entsel "\nSeleciona Polilinha: "))) "Area") 2 2)) "m²")) (cons 50 (+ (setq ang (progn (setq dat (cdr (reverse (vl-remove-if-not 'listp (mapcar 'cdr (entget ent)))))) (apply 'angle (cdar (vl-sort (mapcar '(lambda (x y) (cons (distance x y) (list x y))) dat (cdr dat)) '(lambda (x y) (> (car x) (car y)))))))) (if (and (>= (* 1.5 pi) ang) (> ang (* 0.5 pi))) pi 0))) '(72 . 1) (cons 11 (mapcar '/ (mapcar '+ (car dat) (caddr dat)) '(2 2))) '(73 . 2)))) (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "LWPOLYLINE"))))))) (setvar 'CLAYER o_layer) (setvar 'CMDECHO o_echo) (PRINC) )
Anybody could explain to me how to do that, please?
Thank in advance
Fabricio
Solved! Go to Solution.