找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6283|回复: 32

[已解决] 求钢筋表自动生成lisp

[复制链接]
发表于 2013-10-10 14:05:37 | 显示全部楼层 |阅读模式
悬赏20D豆已解决
本帖最后由 webyl 于 2013-10-10 14:07 编辑

求钢筋表自动生成lisp
要求:
输入命令,鼠标框选下图
1.jpg


会自动生成下表,并且是按照序号(1)、(2)依次排列
2.jpg



是原创的或者是推荐的,都可以。要求开源!
附上原来CAD文件
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:Drawing1.rar 
下载次数:19  文件大小:13.19 KB 
下载权限: 不限 以上  [免费赚D豆]






最佳答案

查看完整内容

以下是完整程序,排序换用了eachy的排序函数,非 xd-lisp-lib.vlx 的 xd::pickset:tablesort
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-10 14:05:38 | 显示全部楼层
以下是完整程序,排序换用了eachy的排序函数,非 xd-lisp-lib.vlx 的 xd::pickset:tablesort
  1. ;|
  2. 禁止表格更新
  3. |;
  4. (defun XD::Table:Begin (tb)
  5.   (xdrx_table_SuppressRegenerateTable tb t)
  6.   t
  7. )
  8. ;|
  9. 开启表格更新
  10. |;
  11. (defun XD::Table:End (tb)
  12.   (if (xdrx_table_IsRegenerateTableSuppressed tb)
  13.     (xdrx_table_SuppressRegenerateTable tb nil)
  14.   )
  15.   t
  16. )
  17. (defun XD::Pickset:TableSort (lst mod key vx / e1 e2 item nelst nlst tf tf0 tf1 x)
  18.   (setq tf0 (listp (caar lst)))
  19.   (if (not vx)
  20.     (setq vx 0.)
  21.   )
  22.   (if tf0
  23.     (if (= mod 0)
  24.       (progn
  25.         (setq nlst (vl-sort lst '(lambda (e1 e2)
  26.                                    (> (cadar e1) (cadar e2))
  27.                                  )
  28.                    )
  29.         )
  30.         (while nlst
  31.           (setq tf t
  32.                 tf1 t
  33.                 item (car nlst)
  34.           )
  35.           (if nelst
  36.             (progn
  37.               (setq nelst (mapcar
  38.                             '(lambda (x)
  39.                                (if (and
  40.                                      tf1
  41.                                      (< (abs (- (cadar item) (cadaar x))) vx)
  42.                                    )
  43.                                  (progn
  44.                                    (setq tf1 nil
  45.                                          tf nil
  46.                                    )
  47.                                    (append
  48.                                      x
  49.                                      (list item)
  50.                                    )
  51.                                  )
  52.                                  x
  53.                                )
  54.                              )
  55.                             nelst
  56.                           )
  57.               )
  58.               (if tf
  59.                 (setq nelst (append
  60.                               (list (list item))
  61.                               nelst
  62.                             )
  63.                 )
  64.               )
  65.             )
  66.             (setq nelst (list (list item)))
  67.           )
  68.           (setq nlst (cdr nlst))
  69.         )
  70.         (setq nelst (mapcar
  71.                       '(lambda (x)
  72.                          (vl-sort x '(lambda (e1 e2)
  73.                                        (if (equal (caar e1) (caar e2))
  74.                                          (> (cadar e1) (cadar e2))
  75.                                          (< (caar e1) (caar e2))
  76.                                        )
  77.                                      )
  78.                          )
  79.                        )
  80.                       nelst
  81.                     )
  82.         )
  83.         (cond
  84.           ((= key 2)
  85.             (setq nelst (reverse (mapcar
  86.                                    'reverse
  87.                                    nelst
  88.                                  )
  89.                         )
  90.             )
  91.           )
  92.           ((= key 3)
  93.             (setq nelst (mapcar
  94.                           'reverse
  95.                           nelst
  96.                         )
  97.             )
  98.           )
  99.           ((= key 1)
  100.             (setq nelst (reverse nelst))
  101.           )
  102.           (t
  103.             nelst
  104.           )
  105.         )
  106.       )
  107.       (progn
  108.         (setq nlst (vl-sort lst '(lambda (e1 e2)
  109.                                    (< (caar e1) (caar e2))
  110.                                  )
  111.                    )
  112.         )
  113.         (while nlst
  114.           (setq tf t
  115.                 tf1 t
  116.                 item (car nlst)
  117.           )
  118.           (if nelst
  119.             (progn
  120.               (setq nelst (mapcar
  121.                             '(lambda (x)
  122.                                (if (and
  123.                                      tf1
  124.                                      (< (abs (- (caar item) (caaar x))) vx)
  125.                                    )
  126.                                  (progn
  127.                                    (setq tf1 nil
  128.                                          tf nil
  129.                                    )
  130.                                    (append
  131.                                      x
  132.                                      (list item)
  133.                                    )
  134.                                  )
  135.                                  x
  136.                                )
  137.                              )
  138.                             nelst
  139.                           )
  140.               )
  141.               (if tf
  142.                 (setq nelst (append
  143.                               (list (list item))
  144.                               nelst
  145.                             )
  146.                 )
  147.               )
  148.             )
  149.             (setq nelst (list (list item)))
  150.           )
  151.           (setq nlst (cdr nlst))
  152.         )
  153.         (setq nelst (mapcar
  154.                       '(lambda (x)
  155.                          (vl-sort x '(lambda (e1 e2)
  156.                                        (if (equal (cadar e1) (cadar e2))
  157.                                          (> (caar e1) (caar e2))
  158.                                          (< (cadar e1) (cadar e2))
  159.                                        )
  160.                                      )
  161.                          )
  162.                        )
  163.                       nelst
  164.                     )
  165.         )
  166.         (cond
  167.           ((= key 1)
  168.             (setq nelst (reverse (mapcar
  169.                                    'reverse
  170.                                    nelst
  171.                                  )
  172.                         )
  173.             )
  174.           )
  175.           ((= key 2)
  176.             (setq nelst (mapcar
  177.                           'reverse
  178.                           nelst
  179.                         )
  180.             )
  181.           )
  182.           ((= key 3)
  183.             (setq nlst (reverse (mapcar
  184.                                   'reverse
  185.                                   nelst
  186.                                 )
  187.                        )
  188.             )
  189.           )
  190.           (t
  191.             (setq nelst (reverse nelst))
  192.           )
  193.         )
  194.       )
  195.     )
  196.     (progn
  197.       (setq nlst (vl-sort lst '(lambda (e1 e2)
  198.                                  (< (car e1) (car e2))
  199.                                )
  200.                  )
  201.       )
  202.       (while nlst
  203.         (setq tf t
  204.               tf1 t
  205.               item (car nlst)
  206.         )
  207.         (if nelst
  208.           (progn
  209.             (setq nelst (mapcar
  210.                           '(lambda (x)
  211.                              (if (and
  212.                                    tf1
  213.                                    (<= (abs (- (car item) (caar x))) vx)
  214.                                  )
  215.                                (progn
  216.                                  (setq tf1 nil
  217.                                        tf nil
  218.                                  )
  219.                                  (append
  220.                                    x
  221.                                    (list item)
  222.                                  )
  223.                                )
  224.                                x
  225.                              )
  226.                            )
  227.                           nelst
  228.                         )
  229.             )
  230.             (if tf
  231.               (setq nelst (append
  232.                             (list (list item))
  233.                             nelst
  234.                           )
  235.               )
  236.             )
  237.           )
  238.           (setq nelst (list (list item)))
  239.         )
  240.         (setq nlst (cdr nlst))
  241.       )
  242.       (setq nelst (mapcar
  243.                     '(lambda (x)
  244.                        (vl-sort x '(lambda (e1 e2)
  245.                                      (if (equal (car e1) (car e2))
  246.                                        (> (car e1) (car e2))
  247.                                        (< (car e1) (car e2))
  248.                                      )
  249.                                    )
  250.                        )
  251.                      )
  252.                     nelst
  253.                   )
  254.       )
  255.       (setq nelst (reverse nelst))
  256.     )
  257.   )
  258.   nelst
  259. )

  260. (defun c:tt (/ attl colnum colwid e ll myerr n nl olderr p ss str strl tb title)
  261.   (if (and
  262.         (setq ss (ssget '((2 . "ATTS"))))
  263.         (setq p (getpoint "\nTable Position: "))
  264.       )
  265.     (progn
  266.       (xdrx_setsstodb ss 0)
  267.       (while (setq e (xdrx_getentdata 0))
  268.         (mapcar
  269.           '(lambda (x)
  270.              (if (= (xdrx_getpropertyvalue x "Tag") "C")
  271.                (setq nl (cons (list (atoi (xdrx_getpropertyvalue x "Textstring")) e) nl))
  272.              )
  273.            )
  274.           (xdrx_getpropertyvalue e "AttributeEntities")
  275.         )
  276.       )
  277.       (setq attl (mapcar
  278.                    '(lambda (c / m)
  279.                       (setq m (car c))
  280.                       (list (car m) (cadr m) (itoa (apply
  281.                                                      '+
  282.                                                      (mapcar
  283.                                                        'atoi
  284.                                                        (mapcar
  285.                                                          'caddr
  286.                                                          c
  287.                                                        )
  288.                                                      )
  289.                                                    )
  290.                                              ) (nth 3 m) (last m)
  291.                       )
  292.                     )
  293.                    (mapcar
  294.                      '(lambda (x / l)
  295.                         (mapcar
  296.                           '(lambda (a)
  297.                              (mapcar
  298.                                '(lambda (b)
  299.                                   (xdrx_getpropertyvalue b "Textstring")
  300.                                 )
  301.                                (xdrx_getpropertyvalue a "AttributeEntities")
  302.                              )
  303.                            )
  304.                           (mapcar
  305.                             'cadr
  306.                             x
  307.                           )               ; _仅要实体
  308.                         )
  309.                       )
  310.                      (setq nl (xd::pickset:tablesort nl 0 0 0))        ; _此处索引为实数钢筋编号,仅误差有效
  311.                    )
  312.                  )
  313.       )                                       ; =0.00617*D2
  314.                                        ; 2 12 960 25
  315.       (setq str (mapcar
  316.                   '(lambda (x / a b c d e f g)
  317.                      (mapcar
  318.                        'set
  319.                        '(a b c d)
  320.                        x
  321.                      )
  322.                      (list a b c d (setq e (rtos (* (atoi c) (atoi d) 0.01) 2 2))
  323.                            (setq f (rtos (* (atoi b) (atoi b) 0.00617) 2 3))
  324.                            (setq g (rtos (* (distof e) (distof f)) 2 2))
  325.                            (strcat b " " g "Kg")
  326.                      )
  327.                    )
  328.                   (vl-sort attl '(lambda (e1 e2)
  329.                                    (< (atoi (car e1)) (atoi (car e2)))
  330.                                  )
  331.                   )
  332.                 )
  333.       )
  334.       (setq ll (length nl)
  335.             tb (xdrx_table_make p (+ 2 ll) 56. 8 110.)
  336.             colnum '(0 1 2 3 4 5 6 7)
  337.             colwid '(84 90 100 120 130 120 116 230)
  338.             title '("编号" "直径\\P(mm)"
  339.              "根数" "单根长\\P(cm)"
  340.              "总长\\P(m)" "延米重\\P(Kg)"
  341.              "总重\\P(Kg)" "合计"
  342.             )
  343.             n 1
  344.       )
  345.       (repeat (1+ ll)
  346.         (setq strl (cons (mapcar
  347.                            '(lambda (x)
  348.                               (list n x)
  349.                             )
  350.                            colnum
  351.                          ) strl
  352.                    )
  353.               n (1+ n)
  354.         )
  355.       )
  356.       (xd::table:begin tb)
  357.       (mapcar
  358.         '(lambda (i w)
  359.            (xdrx_table_setcolumnwidth tb i w)
  360.          )
  361.         colnum
  362.         colwid
  363.       )
  364.       (xdrx_table_setrowheight tb 1 96)
  365.       (xdrx_table_settextheight tb 7 20.)
  366.       (xdrx_table_settextstring tb 0 0 "钢筋工程数量表")
  367.       (xdrx_table_settextheight tb 2 24.) ; _ Title
  368.       (xdrx_table_setalignment tb 1 5) ; _ Data
  369.       (xdrx_table_settextstring tb (apply
  370.                                      'append
  371.                                      (mapcar
  372.                                        '(lambda (x y)
  373.                                           (mapcar
  374.                                             '(lambda (a b)
  375.                                                (append
  376.                                                  b
  377.                                                  (list a)
  378.                                                )
  379.                                              )
  380.                                             x
  381.                                             y
  382.                                           )
  383.                                         )
  384.                                        (cons title str)
  385.                                        (reverse strl)
  386.                                      )
  387.                                    )
  388.       )
  389.       (xdrx_table_setgridvisibility tb 0 0 9 nil)
  390.       (vla-setcellgridvisibility (vlax-ename->vla-object tb) 0 7 ; _此处不是 0 0 要用最后一个列数
  391.                                  acRightMask :vlax-false
  392.       )
  393.       (xd::table:end tb)
  394.     )
  395.   )
  396.   (princ)
  397. )


点评

非常感谢st788796 希望能获得你的联系方式,QQ就行  详情 回复 发表于 2013-10-14 15:04
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-10-10 14:32:12 | 显示全部楼层
你画图的时候组织好数据,才方便以后的程序统计,如果画的时候,线,文字都是分散的,没规律的,程序也不好做。

这个标注应该做成属性块。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-10 14:41:14 | 显示全部楼层
对的,上面2个① ②都是属性块

下面的表格是根据属性块自动生成的,其中编号、直径、根数,单根长度,都是从属性块中提取的。
延米重,是根据直径判断的(和直径一一对应的),其他的数据都是自动生成的。

属性块是已经定于好的,表格是自动生成的。不需要划线,

不知道我表达清楚了没有啊

点评

你这个图有几个问题 1、 根数,比如528,为什么是单独的文字呢? 而没用块里面的NUM属性? 2、 钢筋符号,二级钢什么的,为什么没做到属性块里面呢? 可以根据这个符号,查到单位重量啊。 3、 这些蓝色的标记,  详情 回复 发表于 2013-10-10 15:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-10-10 15:25:50 | 显示全部楼层
webyl 发表于 2013-10-10 14:41
对的,上面2个① ②都是属性块

下面的表格是根据属性块自动生成的,其中编号、直径、根数,单根长度,都 ...

你这个图有几个问题

1、 根数,比如528,为什么是单独的文字呢? 而没用块里面的NUM属性?
2、 钢筋符号,二级钢什么的,为什么没做到属性块里面呢? 可以根据这个符号,查到单位重量啊。
3、 这些蓝色的标记,和下面的红线(钢筋有关联吗?)
4、表格不是程序生成的? 事先就有的?

你应该把所有相关的都做到一个块里面,里面用不同的属性标识出。

点评

不好意思,52那个个地方是个错误,应该是一个属性块,第2个才是正确的属性块  详情 回复 发表于 2013-10-10 15:56
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-10 15:56:01 | 显示全部楼层
newer 发表于 2013-10-10 15:25
你这个图有几个问题

1、 根数,比如528,为什么是单独的文字呢? 而没用块里面的NUM属性?

不好意思,52那个个地方是个错误,应该是一个属性块,第2个才是正确的属性块

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-10 18:06:15 | 显示全部楼层
这个可以用 Table 表格

点评

能具体点吗?  详情 回复 发表于 2013-10-10 18:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-10 18:07:35 | 显示全部楼层
st788796 发表于 2013-10-10 18:06
这个可以用 Table 表格

能具体点吗?

点评

今天先写到这, 加载最新版 xdapi  详情 回复 发表于 2013-10-10 20:13
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-10 20:13:58 | 显示全部楼层
本帖最后由 st788796 于 2013-10-11 07:45 编辑

  1. (defun c:tt (/     attl   colnum colwid e ll     myerr  n
  2.       nl     olderr p   ss  str strl   tb     title
  3.      )
  4.   (defun myerr ()
  5.     (mapcar '(lambda (x) (set (read x) nil)) nl)
  6.     (setq *error* olderr
  7.    myerr   nil
  8.     )
  9.     (princ)
  10.   )
  11.   (setq olderr *error*
  12. *error* myerr
  13.   )
  14.   (if (and (setq ss (ssget '((2 . "ATTS"))))
  15.     (setq p (getpoint "\nTable Position: "))
  16.       )
  17.     (progn
  18.       (xdrx_setsstodb ss 0)
  19.       (while (setq e (xdrx_getentdata 0))
  20. (mapcar
  21.    '(lambda (x)
  22.       (if (= (xdrx_getpropertyvalue x "Tag") "C")
  23.         (if
  24.    (member
  25.      (strcat "XD"
  26.       (xdrx_getpropertyvalue x "Textstring")
  27.      )
  28.      Nl
  29.    )
  30.     (if
  31.       (not
  32.         (vl-position
  33.    e
  34.    (eval
  35.      (read (strcat
  36.       "XD"
  37.       (xdrx_getpropertyvalue x "Textstring")
  38.     )
  39.      )
  40.    )
  41.         )
  42.       )
  43.        (set
  44.          (read (strcat
  45.           "XD"
  46.           (xdrx_getpropertyvalue x "Textstring")
  47.         )
  48.          )
  49.          (cons
  50.     e
  51.     (eval (read (strcat "XD"
  52.           (xdrx_getpropertyvalue
  53.             x
  54.             "Textstring"
  55.           )
  56.          )
  57.           )
  58.     )
  59.          )
  60.        )
  61.     )
  62.     (progn
  63.       (setq nl
  64.       (cons
  65.         (strcat
  66.           "XD"
  67.           (xdrx_getpropertyvalue x "Textstring")
  68.         )
  69.         nl
  70.       )
  71.       )
  72.       (set
  73.         (read (strcat
  74.          "XD"
  75.          (xdrx_getpropertyvalue x "Textstring")
  76.        )
  77.         )
  78.         (cons
  79.    e
  80.    (eval (read
  81.     (strcat
  82.       "XD"
  83.       (xdrx_getpropertyvalue x "Textstring")
  84.     )
  85.          )
  86.    )
  87.         )
  88.       )
  89.     )
  90.         )
  91.       )
  92.     )
  93.    (xdrx_getpropertyvalue e "AttributeEntities")
  94. )
  95.       )
  96.       (setq
  97. attl (mapcar
  98.         '(lambda (c / m)
  99.     (setq m (car c))
  100.     (list
  101.       (car m)
  102.       (cadr m)
  103.       (itoa (apply '+ (mapcar 'atoi (mapcar 'caddr c))))
  104.       (nth 3 m)
  105.       (last m)
  106.     )
  107.   )
  108.         (mapcar
  109.    '(lambda (x / l)
  110.       (mapcar
  111.         '(lambda (a)
  112.     (mapcar
  113.       '(lambda (b)
  114.          (xdrx_getpropertyvalue b "Textstring")
  115.        )
  116.       (xdrx_getpropertyvalue
  117.         a
  118.         "AttributeEntities"
  119.       )
  120.     )
  121.          )
  122.         (eval (read x))
  123.       )
  124.     )
  125.    nl
  126.         )
  127.       )
  128.       )
  129.       ;;=0.00617*D2
  130.       ;; 2 12 960 25
  131.       (setq
  132. str
  133.   (mapcar
  134.     '(lambda (x / a b c d e f g)
  135.        (mapcar 'set '(a b c d) x)
  136.        (list a
  137.       b
  138.       c
  139.       d
  140.       (setq e (rtos (* (atoi c) (atoi d) 0.01) 2 2))
  141.       (setq f (rtos (* (atoi b) (atoi b) 0.00617) 2 3))
  142.       (setq g (rtos (* (distof e) (distof f)) 2 2))
  143.       (strcat b " " g "Kg")
  144.        )
  145.      )
  146.     (vl-sort
  147.       attl
  148.       '(lambda (e1 e2) (< (atoi (car e1)) (atoi (car e2))))
  149.     )
  150.   )
  151.       )
  152.       (setq ll    (length nl)
  153.      tb    (xdrx_table_make p (+ 2 ll) 56. 8 110.)
  154.      colnum '(0 1 2 3 4 5 6 7)
  155.      colwid '(84 90 100 120 130 120 116 230)
  156.      title  '("编号"     "直径\(mm)"    "根数"
  157.        "单根长\(cm)"  "总长\(m)"    "延米重\(Kg)"
  158.        "总重\(Kg)"    "合计"
  159.       )
  160.      n    1
  161.       )
  162.       (repeat (1+ ll)
  163. (setq strl (cons (mapcar '(lambda (x)
  164.         (list n x)
  165.       )
  166.      colnum
  167.     )
  168.     strl
  169.      )
  170.        n    (1+ n)
  171. )
  172.       )
  173.       (xd::table:begin tb)
  174.       (mapcar '(lambda (i w) (xdrx_table_setcolumnwidth tb i w))
  175.        colnum
  176.        colwid
  177.       )
  178.       (xdrx_table_setrowheight tb 1 96)
  179.       (xdrx_table_settextheight tb 20. 7)
  180.       (xdrx_table_settextstring
  181. tb
  182. (apply
  183.    'append
  184.    (mapcar '(lambda (x y)
  185.        (mapcar '(lambda (a b) (append b (list a))) x y)
  186.      )
  187.     (cons title str)
  188.     (reverse strl)
  189.    )
  190. )
  191.       )
  192.       ;;(xdrx_table_deleterows tb 0 1)
  193.       (xd::table:end tb)
  194.     )
  195.   )
  196.   (mapcar '(lambda (x) (set (read x) nil)) nl)
  197.   (setq *error* olderr)
  198.   (princ)
  199. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-10 21:13:02 来自手机 | 显示全部楼层
本帖最后由 st788796 于 2013-10-10 21:16 编辑

后面table比较麻烦,手册不全,要试着写
现在每行的基本数据有了,差个总长计算,重量计算不懂
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 167个

财富等级: 日进斗金

发表于 2013-10-10 21:28:28 | 显示全部楼层
用户组???怎么样可以查看?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-11 06:46:09 来自手机 | 显示全部楼层
本帖最后由 st788796 于 2013-10-11 06:58 编辑

楼上代码已更新
主要功能已实现,api 环境CAD2005+,表格部分耗了太多时间,API手册不全,只能对照ActiveX Help逐个寻找测试,目前仅剩下两个小问题,一是标题行文字没写,二是数据区的文字对齐没有找到可用函数,两者解决了就可以做为专业 插件发布
测试过程中有个问题,就是出错时自定义*error*没起作用,变量未清空,有待进一步研究

点评

Table Position: ; 错误: *error* 函数中出错参数太多 我电脑上面出现这个错误提示,不知道为什么 我用的是CAD2010中文版  详情 回复 发表于 2013-10-11 14:10
API落了一个函数,等新版补上 xdrx_Table_SetAlignment  详情 回复 发表于 2013-10-11 09:15
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-10-11 08:30:25 | 显示全部楼层
本帖最后由 Lisphk 于 2013-10-11 08:50 编辑

测试了下,很棒啊,有个建议,文字垂直方向能对中不? 另外表头,文字能在对齐美化下不,或者一行里面充满,或者分两行等分写。
QQ截图20131011082815.jpg

点评

lisphk 你能不能把权限设置低点 我都看不见,没有办法给你分  详情 回复 发表于 2013-10-11 08:39
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-11 08:39:37 | 显示全部楼层
Lisphk 发表于 2013-10-11 08:30
测试了下,很棒啊,有个建议,文字垂直方向能对中不? 另外表头,文字能在对齐美化下不,或者一行里面充满 ...

lisphk
你能不能把权限设置低点

我都看不见,没有办法给你分

点评

现在能看到了吧?  详情 回复 发表于 2013-10-11 10:21
我设置啥权限?  详情 回复 发表于 2013-10-11 08:43
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-10-11 08:43:12 | 显示全部楼层
webyl 发表于 2013-10-11 08:39
lisphk
你能不能把权限设置低点

我设置啥权限?

点评

您所在的用户组无法下载或查看附件[/backcolor]  详情 回复 发表于 2013-10-11 08:44
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-27 14:28 , Processed in 0.478583 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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