;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
谢谢。。。作品 再次感谢您的代码。。。需要一个小改动。。。按退出键后仍在绘制线条。。。你能修好这个吗 还有一件事。。。更改为接受6个数字,我现在只能输入4个数字(例如长度接受1000.5) 为什么要按esc键取消DCL?可以确定取消
只需更改dcl编号“Total Length”5 4这大致显示5输入4,因此“Total Length”10 9 为什么要按esc键取消DCL?可以确定取消
是,请在DCL中添加取消 学习DCl的好时机只是谷歌“OK\u Cancel\u Help”我必须自己查找,它在某处的帮助中,但我使用一本旧的参考书,但它在家里。
页:
1
[2]