找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4884|回复: 15

[专业] 天正给水弯头三四通标注并制造统计表

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-10-18 07:19:40 | 显示全部楼层 |阅读模式
  • 插件名称 : 天正给水弯头三四通标注并制造统计表
  • 作  者 : eachy
  • 运行环境 :XDRX API 
  • 发布时间 :2013-10-18
  • 命令名称 :XDTB_PipeHead1
  • 插件介绍 :天正给水弯头三四通标注并制造统计表
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

晓东温馨提示 1、运行环境为 晓东工具箱XDRX API 的插件,请下载最新版本的 晓东工具箱XDRX API开发环境 一键安装
2、在ACAD中如何加载插件,请看 论坛插件使用方法
3、如果您有要求需要定制插件,请到 编程申请 论坛发帖求助

插件详细内容

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
需最新函数支持
  1. (defun c:XDTB_PIPEHead1 (/ ss e pts ptl zh typ tf nl st str nl wh tb i title l1 p
  2.                            colwidth tbindex strl
  3.                         )
  4.   (xd::begin)
  5.   (if (setq ss (ssget '((0 . "TCH_PIPE,TCH_EQUIPMENT"))))
  6.     (progn
  7.       (xdrx_setsstodb ss 0)
  8.       (while (setq e (xdrx_getentdata 0))
  9.         (setq pts (mapcar
  10.                     '(lambda (x)
  11.                        (mapcar
  12.                          'fix
  13.                          x
  14.                        )
  15.                      )
  16.                     (xdrx_entity_getstretchpoint e)
  17.                   )
  18.         )
  19.         (if (= (setq typ (xdrx_getentdxf 0))
  20.                "TCH_EQUIPMENT"
  21.             )
  22.           (setq pts (cdr pts)
  23.                 tf t
  24.           )
  25.         )
  26.         (mapcar
  27.           (function (lambda (x / index)
  28.                       (setq ptl (cons (cons x (if tf
  29.                                                 (list (list typ))
  30.                                                 (list (list typ (fix
  31.                                                                      (xdrx_getentdxf 140)
  32.                                                                 ) (rem
  33.                                                                        (apply
  34.                                                                          'angle
  35.                                                                          pts
  36.                                                                        ) pi
  37.                                                                   )
  38.                                                       )
  39.                                                 )
  40.                                               )
  41.                                       ) ptl
  42.                                 )
  43.                       )
  44.                     )
  45.           )
  46.           pts
  47.         )
  48.         (setq tf nil)
  49.       )
  50.       (setq ptl (xd::list:groupbyindex ptl 0))
  51.       (setq zh (* 2.5 (getvar "dimscale"))
  52.             st "DN"
  53.       )
  54.       (xdrx_layer_make "XD-管线标注" 1 t)
  55.       (mapcar
  56.         (function (lambda (x / p ll l pre sub strl l0)
  57.                     (setq p (car x)
  58.                           l (length (cdr x))
  59.                           ll (vl-sort (cdr x) (function (lambda (x1 x2)
  60.                                                           (if (< (length x1)
  61.                                                                  (length x2)
  62.                                                               )
  63.                                                             (> (car x1)
  64.                                                                (car x2)
  65.                                                             )
  66.                                                             (> (cadr x1)
  67.                                                                (cadr x2)
  68.                                                             )
  69.                                                           )
  70.                                                         )
  71.                                               )
  72.                              )
  73.                     )
  74.                     (setq l0 (vl-remove-if '(lambda (x)
  75.                                               (= (length x) 1)
  76.                                             ) ll
  77.                              )
  78.                     )
  79.                     (if (> (length l0) 1)
  80.                       (setq l0 (apply
  81.                                  'append
  82.                                  (setq l1 (vl-sort (mapcar
  83.                                                      '(lambda (b)
  84.                                                         (if (> (length b) 1)
  85.                                                           (vl-sort b '
  86.                                                                    (lambda
  87.                                                                      (d e)
  88.                                                                      (>
  89.                                                                         (cadr d)
  90.                                                                         (cadr e)
  91.                                                                      )
  92.                                                                    )
  93.                                                           )
  94.                                                           b
  95.                                                         )
  96.                                                       )
  97.                                                      (mapcar
  98.                                                        'cdr
  99.                                                        (xd::list:groupbyindex
  100.                                                                               (mapcar
  101.                                                                                 '
  102.                                                                                 (lambda
  103.                                                                                   (a)
  104.                                                                                   (list
  105.                                                                                         (last a) a
  106.                                                                                   )
  107.                                                                                 )
  108.                                                                                 l0
  109.                                                                               ) 0.1
  110.                                                        )
  111.                                                      )
  112.                                                    ) '(lambda (r s)
  113.                                                         (> (cadar r)
  114.                                                            (cadar s)
  115.                                                         )
  116.                                                       )
  117.                                           )
  118.                                  )
  119.                                )
  120.                       )
  121.                     )
  122.                     (if (= l 2)
  123.                       (setq sub (strcat st (if (= (Length l0) 2)
  124.                                              (xdrx_string_join (mapcar
  125.                                                                  'itoa
  126.                                                                  (mapcar
  127.                                                                    'cadr
  128.                                                                    l0
  129.                                                                  )
  130.                                                                ) "-"
  131.                                              )
  132.                                              (strcat (itoa (cadar l0)) "-")
  133.                                            )
  134.                                 )
  135.                             pre "弯头-"
  136.                       )
  137.                       (setq sub (if (= (length l0) 2)
  138.                                   (strcat st (xdrx_string_join (mapcar
  139.                                                                  'itoa
  140.                                                                  (mapcar
  141.                                                                    'cadr
  142.                                                                    l0
  143.                                                                  )
  144.                                                                ) "-"
  145.                                              ) "-"
  146.                                   )
  147.                                   (strcat st (xdrx_string_join (mapcar
  148.                                                                  'itoa
  149.                                                                  (mapcar
  150.                                                                    'cadr
  151.                                                                    l0
  152.                                                                  )
  153.                                                                ) "-"
  154.                                              )
  155.                                   )
  156.                                 )
  157.                             pre (if (= l 3)
  158.                                   (if (= (length (car l1)) 1)
  159.                                     "中大三通-"
  160.                                     "三通-"
  161.                                   )
  162.                                   "四通-"
  163.                                 )
  164.                       )
  165.                     )
  166.                     (setq str (strcat pre sub)
  167.                           nl (cons (list sub pre) nl)
  168.                     )
  169.                     (xdrx_text_make (polar (car x) (/ pi 4) 100.) str zh 0.)
  170.                   )
  171.         )
  172.         (vl-remove-if '(lambda (x /)
  173.                          (or
  174.                            (= (length x) 2) ; _堵头
  175.                            (and
  176.                              (= (length x) 3)
  177.                              (equal (cadr x) (caddr x))
  178.                            )
  179.                          )
  180.                        ) ptl
  181.         )
  182.       )
  183.       (if (setq p (getpoint "\n表格插入点: "))
  184.         (progn
  185.           (setq nl (vl-sort (xd::list:groupbyindex nl 0) '(lambda (x y)
  186.                                                             (< (cadr x)
  187.                                                                (cadr y)
  188.                                                             )
  189.                                                           )
  190.                    )
  191.                 tbindex (cdr (xd::table:Index (length nl) 7)) ; _构造Cell索引
  192.                 i 1
  193.                 nl (mapcar
  194.                      '(lambda (x)
  195.                         (list (itoa (setq i (1+ i))) ""
  196.                               (xdrx_string_trimright (cadr x) "-") (car x) "个"
  197.                               (itoa (1- (length x))) ""
  198.                         )
  199.                       )
  200.                      nl
  201.                    )                       ; _构造Cell文字
  202.                 strl (vl-remove-if '(lambda (x)
  203.                                       (= (last x) "")
  204.                                     ) (apply
  205.                                         'append
  206.                                         (mapcar
  207.                                           '(lambda (x y)
  208.                                              (mapcar
  209.                                                '(lambda (a b)
  210.                                                   (reverse (cons a
  211.                                                                  (reverse b)
  212.                                                            )
  213.                                                   )
  214.                                                 )
  215.                                                x
  216.                                                y
  217.                                              )
  218.                                            )
  219.                                           nl
  220.                                           tbindex
  221.                                         )
  222.                                       )
  223.                      )                       ; _构造 Cell teststring
  224.           )
  225.           (xdrx_layer_make "XD-表格" 7 t)
  226.           (setq tb (xdrx_table_make p (1+ (length nl)) (* 7 (getvar "dimscale"))
  227.                                     7 (* 7 (getvar "dimscale"))
  228.                    )                       ; _制造表格
  229.                                        ; title     '("序号" "图例" "名称" "规格"
  230.                                        ; "单位" "数量" "备注")
  231.                 colwidth '(1200 2800 4300 4300 1200 1500 4100) ; _列宽
  232.           )
  233.           (xd::table:begin tb)
  234.           (xdrx_table_setgridvisibility tb 2 59 nil) ; _隐藏 Title 边
  235.           (mapcar
  236.             '(lambda (x)
  237.                (xdrx_table_settextheight tb x (* 3 (getvar "dimscale")))
  238.              )
  239.             '(1 2 4)
  240.           )                               ; _设置所有 Cell 文字高度
  241.           (xdrx_table_setalignment tb 1 5) ; _数据区文字对齐方式
  242.           (mapcar
  243.             '(lambda (x y)
  244.                (xdrx_table_setcolumnwidth tb x y)
  245.              )
  246.             '(0 1 2 3 4 5 6 7)
  247.             colwidth
  248.           )                               ; _设置列宽
  249.           (xdrx_table_settextstring tb strl) ; _写入文字
  250.           (xd::table:end tb)
  251.         )
  252.       )                                       ; (princ nl)
  253.     )
  254.   )
  255.   (xd::end)
  256.   (princ)
  257. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-10-18 09:56:46 | 显示全部楼层
虽然暂时用不到,但是围观一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 363个

财富等级: 日进斗金

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 117个

财富等级: 日进斗金

发表于 2014-4-13 08:29:23 | 显示全部楼层
谢谢,做的真不错!
  
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-4-13 11:18:06 | 显示全部楼层
用XDRX_API.R18.X64函数吗,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 282个

财富等级: 日进斗金

发表于 2014-4-13 17:17:56 | 显示全部楼层
谢谢!从常用操作考虑,做的很好!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 117个

财富等级: 日进斗金

发表于 2014-4-18 14:13:41 | 显示全部楼层
谢谢,做的真不错!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 117个

财富等级: 日进斗金

发表于 2014-4-18 16:28:13 | 显示全部楼层
这个只能识别天正的吗?CAD图纸识别不了啊,消防水管道也识别不了,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 117个

财富等级: 日进斗金

发表于 2014-4-20 08:55:51 | 显示全部楼层
虽然暂时用不到,但是围观一下
  
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-4-29 21:17:21 | 显示全部楼层
在autoCAD2012平台,天正2014上加载XDRX_API.R18.X64函数,使用这个插件不成功,想请教什么原因,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2015-4-16 22:25:00 | 显示全部楼层
感谢  分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-14 05:49 , Processed in 0.854383 second(s), 63 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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