乘法表帮助
此表已部分完成。为了创建产品,我需要安装嵌套循环的帮助。(定义c:mt()(setvar“cmdecho”0)
(setq osmode(getvar“osmode”))
(setq r270(*pi 1.5))
(Initget 7)
(setq stpt(getpoint“\n输入起点:”)
(initget 7)
(setq num(getint“\n输入行数:”)
(setq textheight(getvar“textsize”))
(setq distbet(*textheight 1.5))
(setvar“osmode”0)
(setq索引1)
(setq nextpnt(极性stpt r270 distbet))
(重复num
(命令“text”“j”“mc”nextpnt“0”(itoa索引))
(setq nextpnt(极地nextpnt r270 distbet))
(setq指数(+指数1))
)
(setq索引1)
(setq nextpnt(极性stpt 0 distbet))
(重复num
(命令“text”“j”“mc”nextpnt“0”(itoa索引))
(setq nextpnt(极轴nextpnt 0 distbet))
(setq指数(+指数1))
)
(setvar“osmode”osmode)
(普林斯)
) 欢迎来到CADTutor
虽然我不太理解您对循环的要求,但我还是冒昧地提供了一个表号创建的替代方案:
(defun c:mt (/ stpt num ts i)
(initget 7)
(setq stpt (getpoint "\nEnter the start point: "))
(initget 7)
(setq num (getint "\nEnter the number of rows: "))
(setq ts (getvar "TEXTSIZE")
i 1)
(repeat num
(entmake (list (cons 0 "TEXT")
(cons 1 (itoa i))
(cons 40 ts)(cons 72 1)(cons 73 2)
(cons 10 (polar stpt 0 (* i ts 1.5)))
(cons 11 (polar stpt 0 (* i ts 1.5)))))
(entmake (list (cons 0 "TEXT")
(cons 1 (itoa i))
(cons 40 ts)(cons 72 1)(cons 73 2)
(cons 10 (polar stpt (* pi 1.5) (* i ts 1.5)))
(cons 11 (polar stpt (* pi 1.5) (* i ts 1.5)))))
(setq i (1+ i)))
(princ))
另外,请用包装Autolisp代码
标记
-大卫 再说一次,如果只是简单的数学表,那么你可以尝试:
(defun c:mt (/ stpt num ts i yp m)
(initget 7)
(setq stpt (getpoint "\nEnter the start point: "))
(initget 7)
(setq num (getint "\nEnter the number of rows: "))
(setq ts (getvar "TEXTSIZE")
i 1)
(repeat num
;;;LABELS
(entmake (list (cons 0 "TEXT")
(cons 1 (itoa i))
(cons 40 ts)(cons 72 1)(cons 73 2)
(cons 10 (polar stpt 0 (* i ts 2.0)))
(cons 11 (polar stpt 0 (* i ts 2.0)))))
(entmake (list (cons 0 "TEXT")
(cons 1 (itoa i))
(cons 40 ts)(cons 72 1)(cons 73 2)
(cons 10 (polar stpt (* pi 1.5) (* i ts 1.5)))
(cons 11 (polar stpt (* pi 1.5) (* i ts 1.5)))))
;;;PRODUCTS
(setq yp (polar stpt (* pi 1.5) (* i ts 1.5))
m 1)
(repeat num
(entmake (list (cons 0 "TEXT")
(cons 1 (itoa (* i m)))
(cons 40 ts)(cons 72 1)(cons 73 2)
(cons 10 (polar yp 0 (* m ts 2.0)))
(cons 11 (polar yp 0 (* m ts 2.0)))))
(setq m (1+ m)))
(setq i (1+ i)))
(princ))
根据字体的不同,您需要调整X轴的增加(我从1.5调整到2.0),产品越大,文本越大。
-大卫 我等不及要试试这个了。
页:
[1]