马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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] |