找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1963|回复: 6

[教学] XD Excel 解析库应用(4)-- 生成多段线顶点表到EXCEL

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-10-27 16:04:55 | 显示全部楼层 |阅读模式

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

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

×
  1. (defun c:tt ()
  2.   (if (and
  3.         (setq e (car (xdrx_entsel "\n拾取一个多段线<退出>:" '((0 . "*POLYLINE")))))
  4.         (setq fl (xdrx_system_selectFiles "选择文件" "界址点" "xls" 1))
  5.         (setq fl (car fl))
  6.       )
  7.     (progn
  8.       (setq ll nil)
  9.       (setq pts (xdrx_getpropertyvalue e "vertices"))
  10.       (setq ll (list '("编号" "X"
  11.                       "Y" "Z"
  12.                      )
  13.                )
  14.       )
  15.       (setq j 1)
  16.       (foreach n pts
  17.         (setq ll (cons (list j (cadr n) (car n) (caddr n)) ll)
  18.               j (1+ j)
  19.         )
  20.       )
  21.       (setq ll (reverse ll))
  22.       (if (and
  23.             (xdex_book_open)
  24.             (xdex_book_addsheet "界址点" t)
  25.           )
  26.         (progn
  27.           (setq j 0)
  28.           (foreach n ll
  29.             (xdex_cell_write j 0 (car n))
  30.             (xdex_cell_write j 1 (cadr n))
  31.             (xdex_cell_write j 2 (caddr n))
  32.             (xdex_cell_write j 3 (cadddr n))
  33.             (setq j (1+ j))
  34.           )
  35.           (if (xdex_book_save fl)
  36.             (progn
  37.               (princ "\n文件生成成功.")
  38.               (xdrx_system_shellexecute fl);;Execl打开刚生成的界址点坐标表
  39.             )
  40.           )
  41.           (xdex_book_close)
  42.         )
  43.       )
  44.     )
  45.   )
  46.   (princ)
  47. )


上面是用 xdex_cell_write 一个单元格一个单元格的写,下面使用 xdex_cell_writeRange 可以批量按范围写一次。

  1. (defun c:tt ()
  2.   (if (and
  3.         (setq e (car (xdrx_entsel "\n拾取一个多段线<退出>:" '((0 . "*POLYLINE")))))
  4.         (setq fl (xdrx_system_selectFiles "选择文件" "界址点" "xls" 1))
  5.         (setq fl (car fl))
  6.       )
  7.     (progn
  8.       (setq ll nil)
  9.       (setq pts (xdrx_getpropertyvalue e "vertices"))
  10.       (setq ll (list '("编号" "X"
  11.                       "Y" "Z"
  12.                      )
  13.                )
  14.       )
  15.       (setq j 1)
  16.       (foreach n pts
  17.         (setq ll (cons (list (itoa j) (cadr n) (car n) (caddr n)) ll)
  18.               j (1+ j)
  19.         )
  20.       )
  21.       (setq ll (reverse ll))
  22.       (if (and
  23.             (xdex_book_open)
  24.             (xdex_book_addsheet "界址点" t)
  25.           )
  26.         (progn
  27.           (xdex_cell_writerange 0 0 ll)
  28.           (if (xdex_book_save fl)
  29.             (progn
  30.               (princ "\n文件生成成功.")
  31.               (xdrx_system_shellexecute fl);;Execl打开刚生成的界址点坐标表
  32.             )
  33.           )
  34.           (xdex_book_close)
  35.         )
  36.       )
  37.     )
  38.   )
  39.   (princ)
  40. )


QQ截图20141027152338.png

QQ截图20141027160326.png


本帖被以下淘专辑推荐:

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

已领礼包: 264个

财富等级: 日进斗金

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

使用道具 举报

发表于 2014-11-4 10:20:08 | 显示全部楼层
生成多段线顶点的数量到表格怎么做呢???同解多段线顶点经过的块的量怎么求解?好像是1个问题?

点评

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2014-11-4 10:41:13 | 显示全部楼层
grs432 发表于 2014-11-4 10:20
生成多段线顶点的数量到表格怎么做呢???同解多段线顶点经过的块的量怎么求解?好像是1个问题?

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

使用道具 举报

已领礼包: 92个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 79个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 23:05 , Processed in 0.406546 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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