明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 939|回复: 9

[源码] 线条表格绘制

  [复制链接]
发表于 2024-12-28 18:48:00 | 显示全部楼层 |阅读模式
本帖最后由 dcl1214 于 2024-12-28 18:58 编辑

客户现场人员5点都回家了,我一个人在这里写lisp(一会儿要给客户锁门),调试完毕了,现在分享出来

  1. (defun $make-table-cad$        (jzs          PT0           LST            /             $bg-heng$
  2.                          $bg-shu$ $ents-move$            $text-box-ji-suan$
  3.                          bg-n          bg-t-p   bg-t-p-y bj-h     bj-s
  4.                          clayer-old           dq            dxf             dxfs
  5.                          ents-all ents-l   ents-t   fonthigh fx-↑
  6.                          hg          h-old           h-pj            hs             hxs
  7.                          i          i2           inspt    jg             jgs
  8.                          kz          obj-tc   os-old   p             pts
  9.                          qd          r           ro            ss             str
  10.                          sty          sxs           tc            t-e             t-e-bt
  11.                          t-h          t-obj           ts            t-w             w-old
  12.                          ws          x-ps           xw-yhs   ys
  13.                         )
  14.   (defun $ents-move$ (ents pt lst / ORTHOMODE pt-n ss)
  15.                                         ;带有捕捉版的图元移动
  16.     (if
  17.       (and ents (= (type ents) 'list) pt)
  18.        (progn
  19.          (setq ents (vl-remove-if-not
  20.                       (function (lambda (a) (and a (entget a))))
  21.                       ents
  22.                     )
  23.          )
  24.          (setq ORTHOMODE (getvar 'ORTHOMODE))
  25.          (setvar 'ORTHOMODE 0)
  26.          (setq
  27.            pt-n
  28.             (vl-catch-all-apply
  29.               (function
  30.                 (lambda        (/ ss)
  31.                   (setq ss (ssadd))
  32.                   (last
  33.                     (mapcar (function (lambda (x) (ssadd x ss))) ents)
  34.                   )
  35.                   (if ss
  36.                     (progn
  37.                       (VL-CMDF "MOVE" ss "" pt)
  38.                       (while (= 1 (logand (getvar 'cmdactive) 1))
  39.                         (vl-cmdf pause)
  40.                       )
  41.                       (getvar 'lastpoint)
  42.                     )
  43.                   )
  44.                 )
  45.               )
  46.             )
  47.          )
  48.          (setvar 'ORTHOMODE ORTHOMODE)
  49.          (if (< (distance pt pt-n) 0.25)
  50.            (progn (mapcar 'entdel ents)
  51.                   (repeat 5 (print "用户按下了esc,程序删除图元"))
  52.            )
  53.          )
  54.        )
  55.     )
  56.     pt-n
  57.   )
  58.   (DEFUN $text-box-ji-suan$
  59.          (jzs / a b i ro w-h w-hs xw-yhs $text-box-xw-yh$)
  60.     (defun $text-box-xw-yh$
  61.                             (str T-H ro T-W sty bj-h bj-s / h tbox w)
  62.                                         ;计算一个文字的X方向的W宽度,Y方向的H高度
  63.       (or (and ro (member (type ro) (list 'int 'real)))
  64.           (setq ro 0)
  65.       )
  66.       (AND T-W (SETQ T-W (* T-W 1.5)))
  67.       (if (and str T-H ro T-W sty)
  68.         (setq
  69.           tBox
  70.            (textbox (list
  71.                       (cons 40 T-H)
  72.                       (cons 1 str)
  73.                       (cons 50 (* pi ro))
  74.                                         ;旋转
  75.                       (cons 41 T-W)
  76.                       (cons 7 sty)
  77.                       (cons 72 0)
  78.                                         ;0左对齐,1居中
  79.                       (cons 73 2)
  80.                     )
  81.            )
  82.         )
  83.       )
  84.       (cond ((and ro
  85.                   (/= ro 0)                ;旋转了
  86.                   (cadr tBox)
  87.                   (car tBox)
  88.                   (SETQ        W (- (cadr (cadr tBox))
  89.                              (cadr (car tBox))
  90.                           )
  91.                   )
  92.                                         ;上面旋转了,所以这里用cadr
  93.                   (SETQ        h (abs (- (car (cadr tBox))
  94.                                   (car (car tBox))
  95.                                )
  96.                           )
  97.                                         ;上面旋转了,这里用car
  98.                   )
  99.              )
  100.             )
  101.             (t
  102.              (and (cadr tBox)
  103.                   (car tBox)
  104.                   (SETQ W (- (car (cadr tBox)) (car (car tBox))))
  105.              )
  106.              (and (cadr tBox)
  107.                   (car tBox)
  108.                   (SETQ h (- (cadr (cadr tBox)) (cadr (car tBox))))
  109.              )
  110.             )
  111.       )
  112.       (and bj-h w (setq w (+ w (* (abs bj-h) 2))))
  113.       (and bj-s h (setq h (+ h (* (abs bj-s) 2))))
  114.       (if (and w h)
  115.         (cons w h)
  116.         (cons 2.5 2.5)
  117.       )
  118.     )
  119.     (setq i 99)
  120.     (while (setq a (car jzs))
  121.       (setq w-hs nil)
  122.       (if (= i 0)
  123.         (setq ro (* pi 0.5))
  124.         (setq ro 0)
  125.       )
  126.       (setq ro 0)
  127.       (while (setq b (car a))
  128.         (setq w-h ($text-box-xw-yh$
  129.                     b T-H ro T-W sty bj-h bj-s)
  130.         )
  131.         (setq w-hs (cons w-h w-hs))
  132.         (setq a (cdr a))
  133.       )
  134.       (setq w-hs (reverse w-hs))
  135.       (setq xw-yhs (cons w-hs xw-yhs))
  136.                                         ;(setq i (1+ i))
  137.       (setq jzs (cdr jzs))
  138.     )
  139.     (setq xw-yhs (reverse xw-yhs))
  140.   )

  141.   (defun $BG-heng$
  142.                    (p0          HS        ws    fx-↑ /          a        dxf   DXFS
  143.                     i          jg        jgs   l-e   p1          p1+0.5h     p2
  144.                     P-Y          P-Z        P-ZS  w            wzqdy y
  145.                    )
  146.                                         ;表格横线
  147.     (if        (and HS ws)
  148.       (progn
  149.         (setq P-ZS nil)
  150.         (setq dxfs nil)
  151.         (setq jgs nil)
  152.         (setq w (apply '+ ws))
  153.         (setq dxfs nil)
  154.         (setq p1 p0)
  155.         (setq p2 (mapcar '+ p1 (list w 0 0))) ;右端坐标
  156.         (setq dxf (LIST '(0 . "LINE") (cons 10 p1) (cons 11 p2)))
  157.         (setq L-e (vl-catch-all-apply 'entmakex (list dxf)))
  158.         (setq wzqdy (+ (CADR P1) (* (car hs) 0.5)))
  159.         (setq jg (list (cons "起点" p1)
  160.                        (cons "止点" p2)
  161.                        (cons "dxf" dxf)
  162.                        (cons "图元" L-e)
  163.                        (cons "文字起点Y" wzqdy)
  164.                                         ;顶部第一行,不需要写文字
  165.                  )
  166.         )
  167.         (setq jgs (cons jg jgs))
  168.         (SETQ i 0)
  169.         (while (setq a (car hs))
  170.           (if fx-↑
  171.             (setq p1 (mapcar '+ p1 (list 0 A 0))) ;上移一个高度
  172.             (setq p1 (mapcar '+ p1 (list 0 (- 0 a) 0))) ;下移一个行高
  173.           )
  174.           (setq p2 (mapcar '+ p1 (list w 0 0))) ;右端坐标
  175.           (setq dxf (LIST '(0 . "LINE") (cons 10 p1) (cons 11 p2)))
  176.           (setq dxfs (cons dxf dxfs))
  177.           (setq L-e (vl-catch-all-apply 'entmakex (list dxf)))
  178.           (setq wzqdy (+ (CADR P1) (* A 0.5)))
  179.           (setq        jg (list (cons "起点" p1)
  180.                          (cons "止点" p2)
  181.                          (cons "dxf" dxf)
  182.                          (cons "图元" L-e)
  183.                          (cons "文字起点Y" wzqdy)
  184.                    )
  185.           )
  186.           (setq jgs (cons jg jgs))
  187.           (SETQ i (1+ i))
  188.           (setq hs (cdr hs))
  189.         )
  190.         (setq jgs (reverse jgs))
  191.       )
  192.     )
  193.     jgs
  194.   )

  195.   (DEFUN $BG-shu$
  196.                   (P0        hs   ws          fx-↑            /         a    dxf  dxfs        h
  197.                    i        jg   jgs  l-e  p1   p1+         p2   p-ss p-zs        s-car
  198.                    x-d        xs   x-u
  199.                   )
  200.                                         ;表格竖线
  201.     (if        (and HS ws)
  202.       (progn
  203.         (setq P-ZS nil)
  204.         (setq dxfs nil)
  205.         (setq jgs nil)
  206.         (setq h (apply '+ hs))
  207.         (setq dxfs nil)
  208.         (setq p1 p0)
  209.         (IF fx-↑
  210.           (setq p2 (mapcar '+ p1 (list 0 H 0)))
  211.           (setq p2 (mapcar '+ p1 (list 0 (- 0 h) 0))) ;右端坐标
  212.         )
  213.         (setq dxf (LIST '(0 . "LINE") (cons 10 p1) (cons 11 p2)))
  214.         (setq L-e (vl-catch-all-apply 'entmakex (list dxf)))
  215.         (setq jg (list (cons "起点" p1)
  216.                        (cons "止点" p2)
  217.                        (cons "dxf" dxf)
  218.                        (cons "图元" L-e)
  219.                  )
  220.         )
  221.         (setq jgs (cons jg jgs))
  222.         (SETQ i 99)
  223.         (while (setq a (car ws))
  224.           (IF (MEMBER i (list 0 1))
  225.             (progn
  226.               (setq p1 (mapcar '+ p1 (list a 0 0))) ;右移一个宽度
  227.               (setq
  228.                 p1+ (mapcar '- p1 (list 0 (nth 0 hs) 0))
  229.               )
  230.                                         ;右移一个宽度
  231.               (setq p2 (mapcar '- p1 (list 0 h 0))) ;下端坐标
  232.               (setq dxf (LIST '(0 . "LINE") (cons 10 p1+) (cons 11 p2)))
  233.             )
  234.             (progn
  235.               (setq p1 (mapcar '+ p1 (list a 0 0))) ;右移一个宽度
  236.               (IF fx-↑
  237.                 (setq p2 (mapcar '+ p1 (list 0 H 0)))
  238.                 (setq p2 (mapcar '+ p1 (list 0 (- 0 h) 0))) ;下端坐标
  239.               )
  240.               (setq dxf (LIST '(0 . "LINE") (cons 10 p1) (cons 11 p2)))
  241.             )
  242.           )
  243.           (setq L-e (vl-catch-all-apply 'entmakex (list dxf)))
  244.           (setq        jg (list (cons "起点" p1)
  245.                          (cons "止点" p2)
  246.                          (cons "dxf" dxf)
  247.                          (cons "图元" L-e)
  248.                          (cons "文字起点X" (- (CAR P1) (* A 0.5)))
  249.                    )
  250.           )
  251.           (setq jgs (cons jg jgs))
  252.                                         ;(SETQ i (1+ i))
  253.           (setq ws (cdr ws))
  254.         )
  255.         (setq jgs (reverse jgs))
  256.       )
  257.     )
  258.     jgs
  259.   )
  260.   (setq hg (CDR (ASSOC "行高" lst)))
  261.   (if (and hg (member (type bj-s) (list 'int 'real)))
  262.     ()
  263.     (setq hg nil)
  264.   )
  265.   (setq bj-s (CDR (ASSOC "竖向边距" lst))) ;边距(竖向)         
  266.   (or (and bj-s (member (type bj-s) (list 'int 'real)))
  267.       (setq bj-s 1.25)
  268.   )
  269.   (setq bj-h (CDR (ASSOC "横向边距" lst))) ;边距(横向)
  270.   (or (and bj-h (member (type bj-h) (list 'int 'real)))
  271.       (setq bj-h 1.25)
  272.   )
  273.   (if hg
  274.     (progn (setq bj-s 0) (setq bj-h 0))
  275.   )
  276.   (setq T-H (CDR (ASSOC "字体高度" lst)))
  277.   (or (and T-H (member (type T-H) (list 'int 'real)))
  278.       (setq T-H 2.5)
  279.   )
  280.   (or FontHigh (setq FontHigh (getvar 'textsize)))
  281.   (setq T-W (CDR (ASSOC "字体宽度" lst)))
  282.   (or T-W (setq T-W 0.7))
  283.   (setq insPt (CDR (ASSOC "坐标" LST)))
  284.   (setq tc (CDR (ASSOC "图层" lst)))
  285.   (setq ys (CDR (ASSOC "颜色" lst)))
  286.   (setq bg-n (CDR (ASSOC "标题" lst)))
  287.   (setq fx-↑ (= (CDR (ASSOC "方向" lst)) "↑"))
  288.   (or (and YS (member (type YS) (list 'int 'real)))
  289.       (setq YS 3)
  290.   )
  291.   (setq clayer-old (getvar "clayer"))

  292.   (SETQ        OBJ-TC (vl-catch-all-apply
  293.                  'vla-add
  294.                  (list (vla-get-Layers
  295.                          (vla-get-ActiveDocument
  296.                            (vlax-get-acad-object)
  297.                          )
  298.                        )
  299.                        tc
  300.                  )
  301.                )
  302.   )
  303.   (vl-catch-all-apply 'VLA-PUT-COLOR (LIST OBJ-TC YS))
  304.   (vl-catch-all-apply 'regapp (list "行列")) ;注册扩展名
  305.   (vl-catch-all-apply 'regapp (list "标题")) ;注册扩展名
  306.   (vl-catch-all-apply 'regapp (list "表格名")) ;注册扩展名
  307.   (setq sty (getvar 'textstyle))
  308.   (setq        t-obj (vl-catch-all-apply
  309.                 'vla-item
  310.                 (list (vla-get-textstyles
  311.                         (vla-get-activedocument
  312.                           (vlax-get-acad-object)
  313.                         )
  314.                       )
  315.                       sty
  316.                 )
  317.               )
  318.   )
  319.   (setq h-old (VLA-get-Height t-obj))
  320.   (setq w-old (VLA-get-width t-obj))
  321.   (vl-catch-all-apply 'VLA-PUT-Height (list t-obj 0)) ;高度
  322.   (vl-catch-all-apply 'VLA-PUT-width (list t-obj 1)) ;宽度  
  323.   (SETQ OS-OLD (GETVAR 'OSMODE))
  324.   (SETVAR 'OSMODE 0)
  325.   (vl-catch-all-apply
  326.     (function
  327.       (lambda (/)
  328.         (SETQ jzs
  329.                (MAPCAR
  330.                  (FUNCTION
  331.                    (LAMBDA (A)
  332.                      (MAPCAR
  333.                        (FUNCTION
  334.                          (LAMBDA (B)
  335.                            (if
  336.                              (member b
  337.                                      (list " " "  " "   " "    " "     " "        ")
  338.                              )
  339.                               (setq b "")
  340.                            )
  341.                            (IF (= (TYPE B) 'STR)
  342.                              ()
  343.                              (SETQ B (VL-PRIN1-TO-STRING B))
  344.                            )
  345.                            B
  346.                          )
  347.                        )
  348.                        a
  349.                      )
  350.                    )
  351.                  )
  352.                  jzs
  353.                )
  354.         )                                ;矫正字串,防止有非字串的数据

  355.         (setq xw-yhs nil)
  356.         (setq xw-yhs ($text-box-ji-suan$ jzs))
  357.         (SETQ HS
  358.                (MAPCAR (FUNCTION (LAMBDA (A) (APPLY 'MAX (MAPCAR 'CDR A))))
  359.                        xw-yhs
  360.                )
  361.         )                                ;所有Y轴方向的高度

  362.         (setq ws
  363.                (MAPCAR (FUNCTION (LAMBDA (A) (APPLY 'MAX (MAPCAR 'CaR A))))
  364.                        (apply 'mapcar (cons 'list xw-yhs)) ;转置
  365.                )
  366.         )                                ;所有的X轴方向的宽度
  367.         (setq h-PJ (/ (apply '+ hs) (length hs) 1.0))
  368.                                         ;后面的所有行高除以行数,得到平均行高
  369.         (COND
  370.           ((AND hg (MEMBER (TYPE HG) (LIST 'INT 'REAL)) (>= HG h-PJ))
  371.            (setq hs (mapcar (function (lambda (a) hg)) hs))
  372.                                         ;传递进来的行高
  373.           )
  374.           (T
  375.            (setq hs (mapcar (function (lambda (a) h-PJ)) hs))
  376.                                         ;平均行高
  377.           )
  378.         )
  379.         (setq ss nil)
  380.         (vl-catch-all-apply
  381.           (FUNCTION (LAMBDA () (SETVAR 'CLAYER tc)))
  382.                                         ;图层置为当前
  383.         )
  384.         (setq hxs ($BG-heng$ PT0 HS ws fx-↑)) ;横向线条
  385.         (setq Sxs ($BG-shu$ PT0 HS ws fx-↑)) ;竖向线条
  386.         (and sxs (setq qd (cdr (assoc "起点" (cadddr sxs)))))
  387.         (SETQ
  388.           PTS (mapcar
  389.                 (function
  390.                   (lambda (A / y)
  391.                     (SETQ Y (cdr (assoc "文字起点Y" A)))
  392.                     (MAPCAR
  393.                       (FUNCTION        (LAMBDA        (B / X)
  394.                                   (SETQ X (cdr (assoc "文字起点X" B)))
  395.                                   (LIST X Y 0)
  396.                                 )
  397.                       )
  398.                       (CDR SXS)
  399.                     )
  400.                   )
  401.                 )
  402.                 (IF fx-↑
  403.                   hxs
  404.                   (CDR hxs)
  405.                 )
  406.               )
  407.         )
  408.         (PRINC)
  409.         (VL-CATCH-ALL-APPLY 'setvar (LIST "CLAYER" tc))
  410.                                         ;图层置顶
  411.         (if fx-↑
  412.           (setq BG-T-P-y (cdr (assoc "文字起点Y" (last hxs))))
  413.           (setq BG-T-P-y (cdr (assoc "文字起点Y" (car hxs))))
  414.         )
  415.         (SETQ TS NIL)
  416.         (setq dxfs nil)
  417.         (setq jgs nil)
  418.         (setq i 0)
  419.         (while (and (setq r (car jzs)) (setq X-PS (car PTS)))
  420.           (setq i2 0)
  421.           (while (and (setq str (car r)) (setq p (car X-PS)))
  422.             (setq dxf nil)
  423.             (setq ro 0)
  424.             (setq dq 1)
  425.             (if        (and str (/= str "") p (CAR P) (CADR P))
  426.               (progn (setq kz (list -3
  427.                                     (list "行列"
  428.                                           (cons 1000 (ITOA I))
  429.                                           (cons 1000 (ITOA I2))
  430.                                     )
  431.                                     (if        bg-n
  432.                                       (LIST "表格名" (CONS 1000 bg-n))
  433.                                     )
  434.                               )
  435.                      )
  436.                      (setq kz (vl-remove nil kz))
  437.                      (setq dxf (LIST (cons 0 "TEXT")
  438.                                      (CONS 10 p)
  439.                                      (CONS 11 p)
  440.                                      (cons 40 T-H)
  441.                                      (CONS 1 STR)
  442.                                      (cons 50 ro)
  443.                                      (cons 41 T-W)
  444.                                         ;(CONS 7 sty)
  445.                                      (cons 72 dq) ;0左对齐,1居中
  446.                                      (cons 73 2)
  447.                                      kz
  448.                                )
  449.                      )
  450.                      (setq dxf (vl-remove nil dxf))
  451.               )
  452.             )
  453.             (if        dxf
  454.               (progn
  455.                 (setq T-E nil)
  456.                 (SETQ T-E (vl-catch-all-apply 'entmakex (list DXF)))
  457.                 (if (vl-catch-all-error-p T-E)
  458.                   (setq T-E nil)
  459.                 )
  460.                 (setq jg (list (cons "行号" i)
  461.                                (cons "列号" i2)
  462.                                (cons "字串" str)
  463.                                (cons "坐标" p)
  464.                                (cons "图元" T-E)
  465.                                (cons "dxf" dxf)
  466.                          )
  467.                 )
  468.                 (if T-E
  469.                   (setq ents-t (cons t-e ents-t))
  470.                 )
  471.                 (setq jgs (cons jg jgs))
  472.               )
  473.             )
  474.             (setq i2 (1+ i2))
  475.             (setq r (cdr r))
  476.             (setq X-PS (cdr X-PS))
  477.           )
  478.           (setq i (1+ i))
  479.           (setq jzs (cdr jzs))
  480.           (setq PTS (cdr PTS))
  481.         )
  482.         (setq jgs (reverse jgs))
  483.         (if bg-n
  484.           (progn
  485.             (SETQ BG-T-P (LIST (CAR pt0) (+ BG-T-P-y (* T-H 2)) 0))
  486.             (setq dxf (LIST (cons 0 "TEXT")
  487.                             (CONS 10 BG-T-P)
  488.                             (CONS 11 BG-T-P)
  489.                             (cons 40 (* T-H 3))
  490.                             (CONS 1 bg-n)
  491.                             (cons 50 ro)
  492.                             (cons 41 1.0)
  493.                                         ;(CONS 7 sty)
  494.                             (cons 72 0)        ;0左对齐,1居中
  495.                             (cons 73 2)
  496.                             (list -3
  497.                                   (list        "标题"
  498.                                         (cons 1000 bg-n)
  499.                                   )
  500.                             )
  501.                       )
  502.             )
  503.             (SETQ T-E-BT (vl-catch-all-apply 'entmakex (list DXF)))
  504.             (SETQ ENTS-T (CONS T-E-BT ENTS-T))
  505.           )
  506.         )
  507.         (PRINC)
  508.         (setq ents-L (mapcar (function (lambda (a)
  509.                                          (cdr (assoc "图元" a))
  510.                                        )
  511.                              )
  512.                              (vl-remove nil (append hxs sxs))
  513.                      )
  514.         )
  515.         (setq ents-all (vl-remove nil (append ents-t ents-L)))
  516.         (IF (= (cdr (assoc "动态" lst)) "是")
  517.           (progn
  518.             (vl-catch-all-apply
  519.               (function        (lambda        ()
  520.                           ($ents-move$
  521.                             ents-all
  522.                             (cdr (assoc "起点" (car hxs)))
  523.                             nil
  524.                           )
  525.                         )
  526.               )
  527.             )
  528.           )
  529.         )
  530.       )
  531.     )
  532.   )
  533.   (and OS-OLD (SETVAR 'OSMODE OS-OLD))        ;恢复捕捉
  534.   (and clayer-old (setvar 'clayer clayer-old)) ;恢复图层
  535.   (vl-catch-all-apply 'VLA-PUT-Height (list t-obj h-old)) ;高度
  536.   (vl-catch-all-apply 'VLA-PUT-width (list t-obj w-old)) ;宽度  
  537.   ents-all
  538. )
  539. )


;调用方法如下:
  1. ($make-table-cad$
  2.   (list
  3.     (list "线束零件号"      "选项配置"        "功能代号"
  4.     "ETC"        "感应雨刮"        "全景天窗"
  5.     "行车记录仪USB口" "蓝牙"        "语音识别"
  6.     "T-BOX"      "自动防炫目内后视镜"
  7.     "高位制动灯-LED"  "中顶灯"        "无拉手"
  8.    )
  9.     (list "序号"     "线束零件号"     "代号"     "ET01"
  10.     "WB01"     "RA02"  "IH04"     "ID04"     "ID02"
  11.     "ID01"     "ME01"  "SL10"     "LF08"     "NAU00"
  12.    )
  13.     (list "1"    "4002100APW13A" "V1"    "X"    ""    ""
  14.     ""    "X"    ""    ""    ""    "X"    ""
  15.     ""
  16.    )
  17.     (list "2"    "4002101APW13A" "V2"    "X"    ""    ""
  18.     ""    "X"    ""    ""    ""    ""    ""
  19.     ""
  20.    )
  21.     (list "3"    "4002102APW13A" "V3"    "X"    "X"    "X"
  22.     "X"    ""    "X"    "X"    "X"    "X"    ""
  23.     ""
  24.    )
  25.     (list "4"    "4002103APW13A" "V4"    "X"    "X"    "X"
  26.     "X"    ""    "X"    ""    ""    "X"    ""
  27.     ""
  28.    )
  29.     (list "5"    "4002104APW13A" "V5"    ""    ""    ""
  30.     ""    "X"    ""    ""    "X"    ""    ""
  31.     ""
  32.    )
  33.     (list "6"    "4002104APW13A" "V6"    ""    ""    ""
  34.     ""    "X"    ""    ""    ""    ""    ""
  35.     ""
  36.    )
  37.     (list "7" "" "" "" "" "" ""  "" "" "" "" "" "" "")
  38.     (list "8"    "4002104APW13A" "V7"    ""    "X"    "X"
  39.     "X"    ""    "X"    "X"    "X"    "X"    ""
  40.     ""
  41.    )

  42.   )
  43.   (getpoint "请点击鼠标左键开始绘制表格")
  44.   (list
  45.     (CONS "标题" "选项配置表")
  46.     (cons "行高" 0)
  47.     (cons "图层" "小白兔")
  48.     (cons "颜色" 3)
  49.     (cons "竖向边距" 1)
  50.     (cons "横向边距" 0)
  51.     (CONS "字体高度" 3)
  52.     (CONS "字体宽度" 0.65)
  53.     (CONS "动态" "否")
  54.     (CONS "方向" "↓")

  55.   )

  56. )


点评

跟我这个功能是一样的;http://bbs.mjtd.com/thread-191721-1-1.html  发表于 2024-12-30 10:28

评分

参与人数 1金钱 +10 收起 理由
yangpingjun + 10 大佬,这个如何使用?

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

发表于 2024-12-28 19:23:01 | 显示全部楼层


帮忙贴图来了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

发表于 2024-12-28 19:45:29 | 显示全部楼层

部分列宽小了
回复 支持 反对

使用道具 举报

发表于 2024-12-28 19:52:08 | 显示全部楼层

应该是我这边字体的问题。
我测试是先生成的表格,发现有问号,调整了字体就出现溢出的情况。
如果先设置好字体再生成表格不会有这种情况。
回复 支持 反对

使用道具 举报

发表于 2024-12-28 21:03:28 | 显示全部楼层
源码必须顶!!!
回复 支持 反对

使用道具 举报

发表于 2024-12-29 18:42:48 | 显示全部楼层
谢谢分享,膜拜~~~
回复 支持 反对

使用道具 举报

发表于 2024-12-29 20:26:41 | 显示全部楼层
excel表格感觉更好些。

数据源头,如果是dwg中Insert对象(含有Attributes),可以联合 data extract ,datalink,table ,实现数据联动。

不过现在的 datalink还存在一些问题,希望开发组能尽快解决。
回复 支持 反对

使用道具 举报

发表于 2024-12-31 19:49:27 | 显示全部楼层

真是棒
一目了然
感謝你
感恩
回复 支持 反对

使用道具 举报

发表于 2025-1-2 09:38:54 | 显示全部楼层

源码必须顶!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-1-22 18:58 , Processed in 0.196829 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表