TheSwamp
Code Red => AutoLISP (Vanilla / Visual) => Topic started by: GDF on July 15, 2019, 06:14:05 PM
-
How would I modify the code to get architectural units? Sorry I don't know the original author?
;;objText (vlax-invoke objBlock "addtext" (vl-princ-to-string (- sngDistance1 sngDistance0)) lstMidPoint 9.6)
objText (vlax-invoke objBlock "addtext" (vl-princ-to-string (- (/ sngDistance1 12) (/ sngDistance0 12))) lstMidPoint 9.6)
(defun C:TextPL (/ lstMidPoint
obj
objBlock
objDocument
objText
sngDistance0
sngDistance1
sngParam
)
(setq obj (vlax-ename->vla-object (car (entsel "\nSelect Polyline: ")))
objDocument (vla-get-activedocument (vlax-get-acad-object))
objBlock (vla-objectidtoobject objDocument (vla-get-ownerid obj))
)
(repeat (fix (setq sngParam (vlax-curve-getendparam obj)))
(setq sngParam (1- sngParam)
lstPoint0 (vlax-curve-getpointatparam obj sngParam)
sngDistance0 (vlax-curve-getdistatparam obj sngParam)
lstMidPoint (vlax-curve-getpointatparam obj (+ sngParam 0.5))
lstPoint1 (vlax-curve-getpointatparam obj (1+ sngParam))
sngDistance1 (vlax-curve-getdistatparam obj (1+ sngParam))
objText (vlax-invoke objBlock "addtext" (vl-princ-to-string (- sngDistance1 sngDistance0)) lstMidPoint 9.6)
)
(vla-put-alignment objText 4)
(vlax-invoke objText "move" (list 0.0 0.0 0.0) lstMidPoint)
(vla-put-rotation objText (angle lstPoint0 lstPOint1))
)
(princ)
)
-
objText (vlax-invoke objBlock "addtext" (rtos (- (/ sngDistance1 12) (/ sngDistance0 12)) 4 6) lstMidPoint 9.6)
Now how do I get the dash inbetween the feet and inches?
-
duh...
(setvar "unitmode" 0)
-
Hi,
Take a ride with this http://docs.autodesk.com/ACD/2011/ENU/filesALR/WS1a9193826455f5ff1a32d8d10ebc6b7ccc-6960.htm (http://docs.autodesk.com/ACD/2011/ENU/filesALR/WS1a9193826455f5ff1a32d8d10ebc6b7ccc-6960.htm)
-
Thanks
I use this routine in my Design dialog box.
Updated code
(defun c:TextPt ( / lstMidPoint
obj
objBlock
objDocument
objText
sngDistance0
sngDistance1
sngParam
)
(ARCH:F_S-VAR)
(setvar "LUNITS" 4)
(setvar "unitmode" 0)
(ARCH:LYR "AREA")
(ARCH:SET-AREA2)
(setq obj (vlax-ename->vla-object (car (entsel "\n* Select Polyline: ")))
objDocument (vla-get-activedocument (vlax-get-acad-object))
objBlock (vla-objectidtoobject objDocument (vla-get-ownerid obj))
)
(repeat (fix (setq sngParam (vlax-curve-getendparam obj)))
(setq sngParam (1- sngParam)
lstPoint0 (vlax-curve-getpointatparam obj sngParam)
sngDistance0 (vlax-curve-getdistatparam obj sngParam)
lstMidPoint (vlax-curve-getpointatparam obj (+ sngParam 0.5))
lstPoint1 (vlax-curve-getpointatparam obj (1+ sngParam))
sngDistance1 (vlax-curve-getdistatparam obj (1+ sngParam))
;;objText (vlax-invoke objBlock "addtext" (vl-princ-to-string (- sngDistance1 sngDistance0)) lstMidPoint 9.6)
objText (vlax-invoke objBlock "addtext" (rtos (- sngDistance1 sngDistance0) 4 (getvar "luprec")) lstMidPoint 9.6)
)
(vla-put-alignment objText 4)
(vlax-invoke objText "move" (list 0.0 0.0 0.0) lstMidPoint)
(vla-put-rotation objText (angle lstPoint0 lstPOint1))
)
(ARCH:F_R-VAR)
(princ)
)