auto dimensioning while placing a block on polyline as per the distances given in .csv file
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello sir,
i have a below lisp routine which insert blocks on poly line at a distance mentioned in csv file.
i just wants to insert auto aligned dimensions while placing the blocks
(defun c:iba ( / *error* adoc f file1 file_line scale dist_list e eo pt tang len rad_to_deg poz)
(defun *error* ( msg )
(if (not (member msg '("Function cancelled" "quit / exit abort")))
(princ (strcat "\nError: " msg))
)
(if adoc (vla-endundomark adoc))
(setvar 'cmdecho 1)
(setvar 'attdia 1)
(princ)
)
(defun rad_to_deg (rad)(* 180.0 (/ rad pi)))
(setvar 'cmdecho 0)
(setvar 'attdia 0)
(setq adoc (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq f (getfiled "Open Distance fileFile" (getvar "dwgprefix") "csv" 2))
(setq file1 (open f "r"))
(while (setq file_line (read-line file1))(setq dist_list (cons (atof file_line) dist_list)))
(close file1)
(setq dist_list (reverse dist_list ))
(setq scale (getreal "\nEnter block scale >"))
(vla-endundomark adoc)
(vla-startundomark adoc)
(setq e (car(entsel "\nSelect polyline >")))
(cond
((and e)
(setq eo (vlax-ename->vla-object e))
(setq len (vlax-get eo 'Length))
(setq poz 0.0)
(foreach dist dist_list
(setq poz (+ poz dist))
(setq pt (vlax-curve-getpointatdist eo poz))
(setq tang (angle '(0.0 0.0 0.0)(vlax-curve-getfirstderiv eo(vlax-curve-getparamatpoint eo pt))))
(command "_.-insert" "TR" "_none" pt scale scale (rad_to_deg tang))
)
)
)
(setvar 'attdia 1)
(setvar 'cmdecho 1)
(vla-endundomark adoc)
(princ)
)