找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1819|回复: 12

[教学] API应用 提取曲线坐标点并制表

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-12 11:48:35 | 显示全部楼层 |阅读模式

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

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

×
相关函数见"开源函数库"
当然输出 xls 用 XdEx 解析库也很简单了
  1. (defun c:tt (/ e p pts)
  2.   (if (and (setq e
  3.                   (car (xdrx_entsel "\nPick Pline: " '((0 . "lwpolyline"))))
  4.            )
  5.            (setq p (getpoint "\nPosition: "))
  6.       )
  7.     (progn
  8.       (setq pts (xdrx_entity_getstretchpoint e))
  9.       (setq pts        (xd::table:celltile '("序号" "X坐标" "Y坐标" "Z坐标") 1 pts)
  10.             pts        (cons "界址点成果表" pts)
  11.       )
  12.       (xd::table:make pts p 10.0 4.0)
  13.     )
  14.   )
  15.   (princ)
  16. )
tablemake.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 264个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2014-11-12 17:42:01 | 显示全部楼层
大师,能不能给加上有圆弧时候的凸度信息呢,或者圆心半径,还有边长呢? 我想这样就最完美了。

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

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2014-11-12 18:06:02 来自手机 | 显示全部楼层
那两栏得自己画了,Table没有这个功能,见过的界址表没有用凸度的,都是在圆弧取几个等分点

点评

EXCEL能做的表,CAD的TABLE也一样,设计下合并单元格就能实现。4行合并两行,写前面的,后面两栏中间两行合并,并适当调整第一,第四行的行高。  详情 回复 发表于 2014-11-12 18:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-11-12 18:14:13 | 显示全部楼层
iLisp 发表于 2014-11-12 18:06
那两栏得自己画了,Table没有这个功能,见过的界址表没有用凸度的,都是在圆弧取几个等分点

EXCEL能做的表,CAD的TABLE也一样,设计下合并单元格就能实现。4行合并两行,写前面的,后面两栏中间两行合并,并适当调整第一,第四行的行高。

点评

为了错行够麻烦的,不过是可行方案,建议楼主考虑做个模版  详情 回复 发表于 2014-11-12 18:20
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2014-11-12 18:20:25 来自手机 | 显示全部楼层
XDSoft 发表于 2014-11-12 18:14
EXCEL能做的表,CAD的TABLE也一样,设计下合并单元格就能实现。4行合并两行,写前面的,后面两栏中间两行 ...

为了错行够麻烦的,不过是可行方案,建议楼主考虑做个模版

点评

这应该是一种很常用的表格形式,其实不用固定模板了,反而死了。做几个灵活的设置合并单元格的函数就行了。当然能实现一个所见即所得的表格设计UI,那是更好了。  详情 回复 发表于 2014-11-12 18:27
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-11-12 18:27:14 | 显示全部楼层
iLisp 发表于 2014-11-12 18:20
为了错行够麻烦的,不过是可行方案,建议楼主考虑做个模版

这应该是一种很常用的表格形式,其实不用固定模板了,反而死了。做几个灵活的设置合并单元格的函数就行了。当然能实现一个所见即所得的表格设计UI,那是更好了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-11-13 11:15:57 | 显示全部楼层
本帖最后由 st788796 于 2014-11-13 11:18 编辑
XDSoft 发表于 2014-11-12 18:27
这应该是一种很常用的表格形式,其实不用固定模板了,反而死了。做几个灵活的设置合并单元格的函数就行了 ...

API  中几个函数用的过程中没有效果,暂用 vla 函数
  1. (defun c:tt (/ e p pts ptl tb tbobj)
  2.   (defun _mergecell (tb startCol endCol startRow)
  3.     (setq rows (xdrx_table_numrows tb))
  4.     (setq c startCol)
  5.     (while (<= startCol c endCol)
  6.       (setq r startRow)
  7.       (while (< r (1- rows))
  8.         (xdrx_table_mergecells tb r (1+ r) c c)
  9.         (setq r (+ 2 r))
  10.       )
  11.       (setq c (1+ c))
  12.     )
  13.   )
  14.   (if (and (setq e
  15.                   (car (xdrx_entsel "\nPick Pline: " '((0 . "lwpolyline"))))
  16.            )
  17.            (setq p (getpoint "\nPosition: "))
  18.       )
  19.     (progn
  20.       (setq pts (xdrx_entity_getstretchpoint e))
  21.       (setq pts        (xd::table:celltile
  22.                   '("序号" "X坐标" "Y坐标" "Z坐标")
  23.                   1
  24.                   pts
  25.                 )
  26.       )
  27.       (while pts
  28.         (setq ptl (cons (car pts) ptl)
  29.               ptl (cons '(" " " " " " " ") ptl)
  30.               pts (cdr pts)
  31.         )
  32.       )
  33.       (setq ptl        (reverse ptl)
  34.             ptl        (cons (car ptl) (cddr ptl))
  35.             ptl        (cons "界址点成果表" ptl)
  36.       )
  37.       (setq tb          (xd::table:make ptl p 10.0 6.0)
  38.             tbobj (vlax-ename->vla-object tb)
  39.       )
  40.       (xd::table:begin tb)
  41.       (vla-insertcolumns tbobj 5 30. 2)
  42.       (vla-setrowheight tbobj 0 24)
  43.       (vla-setrowheight tbobj 1 16.)
  44.       (vla-scaleentity tbobj (vlax-3d-point p) 0.4)
  45.       (_mergecell tb 0 3 2)
  46.       (_mergecell tb 4 5 3)
  47.       (xd::table:end tb)
  48.     )
  49.   )
  50.   (princ)
  51. )
20141113111358.jpg

点评

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-11-13 12:09:10 | 显示全部楼层
st788796 发表于 2014-11-13 11:15
API  中几个函数用的过程中没有效果,暂用 vla 函数

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

使用道具 举报

发表于 2017-8-11 12:10:07 | 显示全部楼层

这个代码怎么使用?已经放到lsp里面了,直接拉入CAD程序里只显示加载成功了,其他的毫无反应,有什么命令调取吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

发表于 2017-8-11 18:58:15 来自手机 | 显示全部楼层
手机回复 (setq pts (xdrx_entity_getstretchpoint e)) (setq n 0) (foreach nn pts (xdrx_text_make nn (rtos (setq n (1+ n))2 0) 300 0)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 10:19 , Processed in 0.256653 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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