gaomingabc456 发表于 2017-8-4 11:00:28

表格 源代码

(defun c:bg()    ;;;画表格
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq pt1 (getpoint      "\n 第一角点:"))
(setq pt3 (getcorner pt1 "\n 另一角点:"))
(command "rectang" "w" 0 pt1 pt3)
(setq wnn (1+ (getint "\n 列数||| <5>:")))
(if (null wnn)(setq wnn 5))
(setq hnn (1+ (getint "\n 行数--- <5>:")))
(if (null hnn)(setq hnn 5))
(setq pt2 (list (car pt3) (cadr pt1)))
(setq pt4 (list (car pt1) (cadr pt3)))
(setq ang (angle pt1 pt3))
(cond
    ((and (> ang 0) (< ang (/ pi 2) ) )(setq   pp1 pt1 pp2pt2pp3pt3 pp4pt4))
    ((and (> ang (/ pi 2) ) (< ang pi) )
   (setq pp1 pt2
           pp2 pt1
           pp3 pt4
           pp4 pt3))
    ((and (> ang pi) (< ang (* pi 1.5) ))
   (setq pp1 pt3
           pp2 pt4
           pp3 pt1
           pp4 pt2))
    ((and (> ang (* pi 1.5) ) (< ang (* pi 2) ))
   (setq pp1 pt4
           pp2 pt3
           pp3 pt2
           pp4 pt1))
    )
(setq        num 1
        txt 65)
(setq ww (distance pp1 pp2))
(setq hh (distance pp1 pp4))
(setq        pt1   pp4
        ppbas pp4
        key   1)
(repeat hnn
;;;绘制行
    (setq pt1 (polar pt1 (* pi 1.5) (/ hh hnn)))
    (setq pt2 (polar pt1 0 ww))
    (command "line" pt1 pt2 "")
    (if        (> key 1)
      (progn
        (setq txtins (inters ppbas
                             (polar pt1 0 (/ ww wnn))
                             pt1
                             (polar ppbas 0 (/ ww wnn))))
        (command "text" "m" txtins (/ hh hnn 2) 0 (itoa num))
        (setq num (1+ num))
        )
      )
    (setq ppbas        pt1
          key        (1+ key))
    )

(setq        pt1   pp4
        ppbas pp4
        key   1)
(repeat wnn
;;;绘制列
    (setq pt1 (polar pt1 0 (/ ww wnn)))
    (setq pt2 (polar pt1 (* pi 1.5) hh))
    (command "line" pt1 pt2 "")
    (if        (> key 1)
      (progn
        (setq txtins (inters ppbas
                             (polar pt1 (* pi 1.5) (/ hh hnn))
                             pt1
                             (polar ppbas (* pi 1.5) (/ hh hnn))))
        (command "text" "m" txtins (/ hh hnn 2) 0 (chr txt))
        (setq txt (1+ txt))
        )
      )
    (setq ppbas        pt1
          key        (1+ key))
    )
(prin1)
)

linheyuanpcb 发表于 2017-8-6 15:17:51

谢谢分享,支持

jhzxj 发表于 2021-12-26 22:39:55

谢谢,正好试试看

qazxswk 发表于 2022-1-30 12:51:27

可以,学习一下

白色微風1991 发表于 2022-7-9 15:08:37

可以,學習一下

wgng 发表于 2022-8-9 22:11:21

谢谢分享学习了

萝卜干 发表于 2023-3-7 10:53:44


谢谢分享学习了
页: [1]
查看完整版本: 表格 源代码