Message 1 of 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I need to modify the attached routine so that the dimensions can be associative.
Solved! Go to Solution.
I need to modify the attached routine so that the dimensions can be associative.
Solved! Go to Solution.
@ramirez.m.1989 wrote:
I need to modify the attached routine so that the dimensions can be associative.
(defun c:pdim(/ plSet pLlst vLst oldOsn cAng cDis cPt)
(setvar "DIMASSOC" 2) (princ "\n<<< Select LwPolyline for dimensioning >>> ") (if(setq plSet(ssget '((0 . "LWPOLYLINE")))) (progn (setq pLlst(vl-remove-if 'listp (mapcar 'cadr(ssnamex plSet)))) (setvar "OSMODE" 0)(setvar "CMDECHO" 0) (foreach pl pLlst (setq vLst(mapcar 'cdr (vl-remove-if-not '(lambda(x)(= 10(car x)))(entget pl))) oldOsn(getvar "OSMODE") ); end setq (while(< 1(length vLst)) (setq cAng(angle(car vLst)(cadr vLst)) cDis(/(distance(car vLst)(cadr vLst))2) cPt(polar(polar(car vLst)cAng cDis) (+ cAng(/ pi 2))(* 2(getvar "DIMTXT"))) ); end setq (command "_.dimaligned" "_endp" (car vLst) "_endp" (cadr vLst) cPt) (setq vLst(cdr vLst)) ); end while ); end foreach (setvar "OSMODE" oldOsn)(setvar "CMDECHO" 1) ); end progn ); end if (princ) )
make sure Dimassoc is 2
Sorry my mistake. It works perfect.
Thank you very much.