本帖最后由 20060510412 于 2018-11-4 22:11 编辑
[code="lisp]
;;
;;动态示坡线 by 明经通道 QQ9034598 小蜜蜂 2013-5-22
;;
(defun c:swx( / ss n m jdp jdp2 sntt txt1 txt2 xpj pt cg pl hh ssList end1 SumL1)
(setvar "DIMZIN" 1)
(setq ss (car (entsel "\n请选择曲线边界:")))
(if (and ss (vl-position (dxf 0 (entget ss))
'("POLYLINE" "LINE" "LWPOLYLINE" "CIRCLE" "ARC" "SPLINE" "ELLIPSE")))
(progn
(setq Jdp (getpoint "\n [d]间距增加0.05倍 / [s]间距减小0.05倍 / 长度及方向 :"))
(if jdp (progn
(setq hh (/ (getvar "VIEWSIZE") 25)
Jdp1 (polar jdp (* 0.25 pi) (* 0.2 hh))
Jdp2 (polar jdp1 (* 0.5 pi) (* 1.2 hh))
oba (vlax-ename->vla-object ss)
end1 (vlax-curve-getEndParam oba) ;;端点参数
SumL1 (vlax-curve-getDistAtParam oba end1) ;;曲线总长
dis (