找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2616|回复: 3

[表格] 表格拆分

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-12-7 19:17:49 | 显示全部楼层 |阅读模式
  • 插件名称 : 表格拆分
  • 作  者 : Lispboy
  • 运行环境 :XDRX API 晓东工具箱 
  • 发布时间 :2016-12-07
  • 命令名称 :XDTB_TableBrk
  • 插件介绍 :表格拆分
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

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

插件详细内容

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

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

×
AUTOCAD的表格有分栏的功能,本插件不同于分栏,分栏后表格还是一个整体,
但有些情况下,分栏后排版不下,本插件就是把表格实际拆分的插件,拆分后,变成两个表格实体。
拆分时候保留原表格的标题行和头行,仅对数据行进行拆分。

[sell]
(defun c:XDTB_TableBrk (/ brkHeight brkSpacing datarows e e1 e2 h nums p1 p2
                          pt rows start vx w
                       )
  (xdrx_begin)
  (xdrx_sysvar_push '("osmode" 0))
  (xdrx_initssget "\n请拾取要拆分的表格<退出>:")
  (if (and
        (setq e (xdrx_ssget ":E:S" '((0 . "ACAD_TABLE"))))
        (setq pt (getpoint "\n点取要拆分的行<退出>:"))
        (setq pt (xdrx_table_hittest (setq e1 (ssname e 0))
                                     (trans pt 1 0) '(0 0 1.0) 1.0 1.0
                 )
        )
      )
    (progn
      (setq e2 (xdrx_entity_copy e1)
            e2 (ssname e2 0)
            start (car pt)
            rows (xdrx_table_numrows e1)
            datarows (xdrx_table_NumDataRows e1)
            brkHeight (xdrx_table_breakheight e1 0)
            brkSpacing (xdrx_table_breakSpacing e1)
            w (xdrx_table_width e1)
            h (xdrx_table_height e1)
            vx (xdrx_table_direction e1)
            p1 (xdrx_getpropertyvalue e1 "position")
      )
      (xdrx_table_deleteRows e1 start rows)
      (xdrx_table_deleteRows e2 (cadr datarows) (- start 2))
      (if (not brkheight)
        (setq p2 (mapcar
                   '+
                   p1
                   (xdrx_vector_product vx (+ w (/ w 10.0)))
                 )
        )
        (progn
          (setq nums (+ 1 (fix (/ h brkheight)))
                p2 (mapcar
                     '+
                     p1
                     (xdrx_vector_product vx (+ (* nums w) (* (- nums 1)
                                                              brkspacing
                                                           ) brkspacing
                                             )
                     )
                   )
          )
        )
      )
      (xdrx_entity_move e2 p1 p2)
    )
  )
  (xdrx_sysvar_pop)
  (xdrx_end)
  (princ)
)

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

已领礼包: 8726个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 408个

财富等级: 日进斗金

发表于 2019-9-23 00:23:35 | 显示全部楼层
这个么,新版cad估计用不上这功能,直接用分栏,分栏可以调整各栏距离,可以各栏保留表头
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 403个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 13:00 , Processed in 0.285915 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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