你好
我制作了这个小Lisp来绘制一个小箭头,但它不适用于垂直或角度方向。那么,有什么想法可以迫使这个Lisp在各个方向都正常工作吗?。
- (defun c:arrow (/ p1 Len Alen p2 p3)
- (setq p1 (getpoint "\nSpecify Start point of Arrow:")
- p2 (getpoint p1 "\nSpecify End point of Arrow:")
- dist (distance p1 p2)
- vrt (/ dist 3)
- p3 (list (car p2)(- (cadr p2) vrt))
- p4 (list (car p3) (+ (cadr p3)(* vrt 2))) )
- (setq old (getvar 'osmode) new (setvar 'osmode 0))
- (vl-cmdf "_.pline" p1 "_w" 0 0 p3 p4 "_c" )
- (vl-cmdf "_.-hatch" "_s" (entlast) "" "_p" "_solid" "" "")
- (setvar 'osmode old)
- (princ))
塔瓦特 |