附上一个该函数具体应用的例子代码(结合带关键字的SSGET),标注选择到的多段线
 - (defun c:tt ()
- (if (not #dis)
- (setq #dis 10.0)
- )
- (defun _setdis (keyword)
- (cond
- ((= keyword "SE")
- (if (setq dis (getreal (xdrx_prompt "\n请输入第二道尺寸线距离<" #dis
- ">:" t
- )
- )
- )
- (setq #dis dis)
- )
- )
- ((= keyword "BE")
- (setq #align1 (xdrx_yesorno "\n基点是否对齐:" 1))
- (if (= #align1 1)
- (setq #align t)
- (setq #align nil)
- )
- )
- )
- (xdrx_prompt "\n当前设置:基点对齐(" (if #align "Y" "N") ")/二道尺寸距离(" #dis ")")
- )
- (xdrx_begin)
- (xdrx_prompt "\n当前设置:基点对齐(" (if #align "Y" "N") ")/二道尺寸距离(" #dis ")")
- (xdrx_initssget "\n选取要标注的多段线[基点对齐(BE)/二道尺寸(SE)]<退出>:"
- "BE SE" "" "_setdis" ""
- )
- (if (and
- (setq ss (xdrx_ssget '((0 . "*polyline"))))
- (setq pt (getpoint "\n尺寸线位置<退出>:"))
- )
- (progn
- (mapcar
- '(lambda (x)
- (xd::dim:makerotwithPnts (xdrx_getpropertyvalue x "vertices")
- (trans pt 1 0) #align #dis
- )
- )
- (xdrx_pickset->ents ss)
- )
- )
- )
- (xdrx_end)
- (princ)
- )
|