找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2092|回复: 3

[表格] (XD::Table:GridLine2Cells)表格线转换成CELL单元格子,对普通LINE表格进行前处理...

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-11-17 17:35:35 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::Table:GridLine2Cells
调用格式: (XD::Table:GridLine2Cells ss)
参数说明: ss --- 选择集(表格线)
返回值: 表 (表格最大外框实体 ((e01 e02 ...e0n)(e11 e12 ...e1n)(en1 en2....enn)))
函数简介: 表格线转换成CELL单元格子,对普通LINE表格进行前处理,生成单元格,自动生成(从上到下,从左到右排序的)单元格。
函数来源: 原创
函数作者: Lispboy
适用版本: XDRX API 
最后更新时间: 2013-11-17
备注: -
演示图片:

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

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

×
本帖最后由 Lispboy 于 2013-11-17 22:42 编辑

  1. ;|
  2. 表格线转换成CELL单元格子,对普通LINE表格进行前处理,生成单元格,自动生成(从上到下,从左到右排序的)单元格。

  3. 参数:
  4.    ss --- 选择集(表格线)
  5. 返回值:
  6.    表 (表格最大外框句柄 ((h01 h02 ...h0n)(h11 h12 ...h1n)(hn1 hn2....hnn)))   
  7. |;
  8. (defun XD::Table:GridLine2Cells (ss / basept cells el ell entl header i len lxd n pts temp x x1 x2)
  9.   (setq ss (xdrx_geom_searchregions (xdrx_curve_intersectbreak ss 0) 0)
  10.         entl (xdrx_pickset->ents ss)
  11.         temp entl
  12.         entl (mapcar
  13.                '(lambda (x)
  14.                   (cons (car (xdrx_getarea x)) x)
  15.                 )
  16.                entl
  17.              )
  18.         entl (vl-sort entl '(lambda (x1 x2)
  19.                               (> (car x1) (car x2))
  20.                             )
  21.              )
  22.         entl (mapcar
  23.                'cdr
  24.                entl
  25.              )
  26.         temp (cdr entl)
  27.   )
  28.   (setq header (car entl)
  29.         cells (XD::Pickset:TableSort (XD::Entity->PickSet (cdr entl)) 0 3 '> '<)
  30.   )
  31.   (foreach n cells
  32.     (setq i 0
  33.           len (length n)
  34.     )
  35.     (setq el (mapcar
  36.                '(lambda (x)
  37.                   (setq pts (xdrx_getpropertyvalue x "Vertices")
  38.                         lxd pts
  39.                         basept (car (if (= (+ 1 i) len)
  40.                                       (XD::Pnts:MaxY->MaxX pts 1e-5)
  41.                                       (XD::Pnts:MaxY->MinX pts 1e-5)
  42.                                     )
  43.                                )
  44.                         pts (if (= (+ 1 i) len)
  45.                               (XD::PntS:unClockWise pts basePt 1e-5)
  46.                               (XD::PntS:ClockWise pts basePt 1e-5)
  47.                             )
  48.                   )
  49.                   (apply
  50.                     'xdrx_polyline_make
  51.                     (cons t pts)
  52.                   )
  53.                   (xdrx_entity_setPropertiesFrom (entlast) x)
  54.                   (setq i (1+ i))
  55.                   (xdrx_getpropertyvalue (entlast) "handle")
  56.                 )
  57.                n
  58.              )
  59.           ell (cons el ell)
  60.     )
  61.     (xdrx_entity_delete n)
  62.   )
  63.   (list (xdrx_getpropertyvalue header "handle") (reverse ell))
  64. )

评分

参与人数 1D豆 +5 收起 理由
xshrimp + 5 很给力!经验;技术要点;资料分享奖!

查看全部评分

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

已领礼包: 1757个

财富等级: 堆金积玉

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

使用道具 举报

已领礼包: 56个

财富等级: 招财进宝

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 16:00 , Processed in 0.389612 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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