(defun C:test ()
(IF(AND
(setq ent1 (car (entsel "\nSelect Closed LWPolyline1 : "))
obj1 (vlax-ename->vla-object ent1)
);end_setq
(setq ent2 (car (entsel "\nSelect Closed LWPolyline2 : "))
obj2 (vlax-ename->vla-object ent2)
);end_setq
)
(PROGN
(setq ipt (getpoint "\nSelect TEXT Insertion Point: "))
(command "text" "_mc"
ipt
1
"0"
(strcat "\n calculate"
"\n -----------------------"
(strcat "\n Calculate = " (rtos (* 1000 (/ (vlax-curve-getarea ent1) (vlax-curve-getarea ent2))) 2 2) " \U+2030")
)
)
))
(princ)
)
;;;https://www.cadtutor.net/forum/topic/70120-idea-to-determinating-location-lengths-for-polyline/page/2/#comments
;;dlanorh
(defun rh:em_mtxt (pt txt lyr)
(entmakex (list '(0 . "MTEXT") '(100 . "AcDbEntity") '(100 . "AcDbMText")
(cons 8 lyr) '(50 . 0.0) (cons 7 (getvar 'textstyle))
(cons 1 txt)(cons 10 pt) (cons 40 0.5)
);end_list
);end_entmakex
);end_defun
(defun C:test ( / A_TXT ENT1 ENT2 ESTR IPT NSTR OBJ1 OBJ2 SSTR)
(COMMAND "_layer" "_m" "_Calculate" "_c" "6""" "")
(command "-style" "_TopoCad" "arial.ttf" "_annotative" "_yes" "_no" 2.5 1.0 0.0 "_no" "_no" "_no")
(IF(AND
(setq ent1 (car (entsel "\nSelect Closed LWPolyline1 : "))
obj1 (vlax-ename->vla-object ent1)
);end_setq
(= :vlax-true (vlax-get-property obj1 'closed))
(setq ent2 (car (entsel "\nSelect Closed LWPolyline2 : "))
obj2 (vlax-ename->vla-object ent2)
);end_setq
(= :vlax-true (vlax-get-property obj2 'closed))
)
(PROGN
(setq ipt (getpoint "\nSelect TEXT Insertion Point: ")
nstr (strcat "\n Area 2= " (rtos (vlax-curve-getarea ent2) 2 2) " sq.m")
estr(strcat "\n Area 1= " (rtos (vlax-curve-getarea ent1) 2 2) " sq.m")
sstr(strcat "\n Calculate = " (rtos (* 1000 (/ (vlax-curve-getarea ent2) (vlax-curve-getarea ent1))) 2 2) " \U+2030"))
(setq a_txt (strcat nstr "\\P" estr "\\P" sstr ))
(rh:em_mtxt ipt a_txt (getvar 'clayer))
)
(alert "NOT a CLOSED LWPolyline")
)
(princ)
)
;;dlanorh
(defun rh:em_mtxt (pt txt lyr)
(entmakex (list '(0 . "MTEXT") '(100 . "AcDbEntity") '(100 . "AcDbMText")
(cons 8 lyr) '(50 . 0.0) (cons 7 (getvar 'textstyle))
(cons 1 txt)(cons 10 pt) (cons 40 (* 2.5 (getvar 'textsize)))
);end_list
);end_entmakex
);end_defun
The mtext is not annotative. Any other option?Hi,