这可能很有用,包括具有默认值的功能,这与您的输入匹配,只需按Ok。我认为,虽然像Grrr那样选择左下角点更好,但键入0,0并不困难
- ;Multi line with offsets
- ; by Alan H Feb 2018
- (defun ah:mult ( / pt1 pt2 pt3 pt4 num voff len hor)
- (if (not ah:getval4)(load "getvals4"))
- (ah:getval4 "Total Length" 5 4 "100" "Vertical offset" 5 4 "10" "Horizontal offset" 5 4 "0.25" "Number of lines"5 4 "10")
- (setq len (atof val1)
- voff (atof val2)
- hor (atof val3)
- num (- (atoi val4) 1)
- )
- (SETQ ANGBASEE (GETVAR "ANGBASE"))
- (SETQ ANGDIRR (GETVAR "ANGDIR"))
- (SETQ AUNITSS (GETVAR "AUNITS"))
- (setq oldsnap (getvar 'osmode))
- (setvar 'osmode 0)
- (SETVAR "ANGBASE" 0.0)
- (SETVAR "ANGDIR" 0)
- (SETVAR "AUNITS" 3)
- (setq pt1 (list 0 0))
- (setq pt2 (polar pt1 pi hor))
- (setq pt3 (polar pt1 0.0 (+ len hor)))
- (entmakex (list '(0 . "LINE") (cons 10 pt2) (cons 11 pt3)))
- (Command "-array" "l" "" "R" (+ 1 num) 1 voff)
- (setq pt2 (list (car pt1) (- (cadr pt1) hor)))
- (setq pt3 (list (car pt1)(+ (+ (cadr pt1) (* num voff)) hor)))
- (entmakex (list '(0 . "LINE") (cons 10 pt2) (cons 11 pt3)))
- (command "copy" "L" "" (list 0 0)(list len 0))
- (SETVAR "ANGBASE" angbasee)
- (SETVAR "ANGDIR" angdirr)
- (SETVAR "AUNITS" aunitss)
- )
- (ah:mult)
Getvals4.lsp
|