BIGAL 发表于 2022-7-5 16:12:02

这可能很有用,包括具有默认值的功能,这与您的输入匹配,只需按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

2andygs 发表于 2022-7-5 16:14:53

谢谢。。。作品

2andygs 发表于 2022-7-5 16:18:13

再次感谢您的代码。。。需要一个小改动。。。按退出键后仍在绘制线条。。。你能修好这个吗

2andygs 发表于 2022-7-5 16:24:02

还有一件事。。。更改为接受6个数字,我现在只能输入4个数字(例如长度接受1000.5)

BIGAL 发表于 2022-7-5 16:26:41

为什么要按esc键取消DCL?可以确定取消
 
只需更改dcl编号“Total Length”5 4这大致显示5输入4,因此“Total Length”10 9

2andygs 发表于 2022-7-5 16:29:16

为什么要按esc键取消DCL?可以确定取消
 
是,请在DCL中添加取消

BIGAL 发表于 2022-7-5 16:32:02

学习DCl的好时机只是谷歌“OK\u Cancel\u Help”我必须自己查找,它在某处的帮助中,但我使用一本旧的参考书,但它在家里。
页: 1 [2]
查看完整版本: 具有用户输入的多行