Auto Dimensions with Multileader

Auto Dimensions with Multileader

Anonymous
Not applicable
420 Views
1 Reply
Message 1 of 2

Auto Dimensions with Multileader

Anonymous
Not applicable

I have no experience on autolisp. I want a lsp. can help me to label column and beam in dwg. I found AD-Automatic Dimension Autocad .LSP in the website. But I want label form should be Multileader.(Mleader). Can someone help me to modify the lsp code make label to be Mleader form(like picture from below left to right). At the same time, I hope that i can  adjust label style (like text color, size etc.) in my may.Also that lsp can only choose polyline and rectangle, if can help me add circle selection to label circle's diameter.

 

0 Likes
421 Views
1 Reply
Reply (1)
Message 2 of 2

hak_vz
Advisor
Advisor

Try this

(defun c:dim_beam_sect_mleader (/ take pointlist2d segmentize e eo segs s1 s2 d1 d2 dim p1 p2)
	(defun take (amount lst / ret)(repeat amount (setq ret (cons (car lst) (take (1- amount) (cdr lst))))))
	(defun pointlist2d (lst / ret) (while lst (setq ret (cons (take 2 lst) ret) lst (cddr lst))) (reverse ret))
	(defun segmentize (lst / ret ) (setq ret (cons (take 2 lst) ret)) (while (and (setq lst (cdr lst)) (> (length lst) 1)) (setq ret (cons (take 2 lst) ret))) (reverse ret))
	(while 
		(setq e (car(entsel "\nSelect beam section >")))
		(setq eo (vlax-ename->vla-object e))
		(setq segs nil)
		(cond 
			((= (vlax-get eo 'ObjectName) "AcDbPolyline")
				(setq segs (segmentize (pointlist2d(vlax-get eo 'Coordinates))))
				(setq segs (vl-sort segs '(lambda (x y) (< (distance (car x)(cadr x))(distance (car y)(cadr y))))))
				(setq s1 (car segs) s2 (last segs))
				(setq d1 (distance (car s1)(cadr s1)))
				(setq d2 (distance (car s2)(cadr s2)))
				(setq dim (strcat (itoa(fix d2))"*"(itoa(fix d1))))
				(setq p1 (getpoint "\nFirst mleader point >"))
				(setq p2 (getcorner p1 "\nSecond mleader point >"))
				(command "_.mleader" p1 p2 dim)
			)
		)

	)
	(princ)
)

 

Miljenko Hatlak

EESignature

Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
0 Likes