找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3269|回复: 21

[教学] API应用 曲线等分或等距点

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-9-30 00:02:20 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 st788796 于 2014-10-1 15:59 编辑

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

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-9-30 08:03:02 | 显示全部楼层
一个按指定间隔绘制短线例子
  1. (defun c:tt (/ e d d1)
  2.   (if (and (setq e (entsel))
  3.            (xd::pnt:mark (xdrx_curve_getstartpoint (car e)) 1) ;_标记起点
  4.            (xd::pnt:drawarrow
  5.              (xdrx_curve_getstartpoint (car e))
  6.              (xdrx_curve_getfirstderiv (car e) 0.)
  7.              2
  8.            )                                ;标示曲线方向
  9.            (setq d (getdist (cadr e) "\n间距:"))
  10.            (setq d1 (getdist (cadr e) "\n线长: "))
  11.       )
  12.     (progn
  13.       (setq lst (XD::Curve:NumDiv (car e) nil nil d))
  14.       (mapcar '(lambda (x / v v1)
  15.                  (setq v  (xdrx_vector_perpvector (cadr x)) ;_垂向量
  16.                        v1 (xdrx_vector_product v d1) ;_放大的指定长度
  17.                        p1 (mapcar '+ (car x) v1)
  18.                  )
  19.                  (xdrx_line_make (car x) p1) ;_绘制短线
  20.                )
  21.               lst
  22.       )
  23.       (redraw)
  24.     )
  25.   )
  26.   (princ)
  27. )
div.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2014-10-1 15:38:05 | 显示全部楼层
有点问题,输入的是距离,可是等分时用的是param,结果我试了好多次都只能画出端点的那根线,后来仔细看了看代码,距离输了个很小的数值(小于endparam),才看到效果了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-10-1 16:11:23 | 显示全部楼层
本帖最后由 st788796 于 2014-10-1 16:17 编辑
liuyj 发表于 2014-10-1 15:38
有点问题,输入的是距离,可是等分时用的是param,结果我试了好多次都只能画出端点的那根线,后来仔细看了 ...


谢谢指正,搞错了,应该用 xdrx_curve_getdistatpoint

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

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2014-10-1 22:02:06 | 显示全部楼层
再请教一下,xdrx_curve_getfirstderiv这个函数经常没有返回值,是什么情况?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-10-1 22:04:44 | 显示全部楼层
liuyj 发表于 2014-10-1 22:02
再请教一下,xdrx_curve_getfirstderiv这个函数经常没有返回值,是什么情况?

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

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2014-10-1 22:30:26 | 显示全部楼层
您试试我这条曲线,怎么也弄不出效果来。

test.rar

46.33 KB, 下载次数: 2, 下载积分: D豆 -1 , 活跃度 1

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-10-1 23:20:16 | 显示全部楼层
liuyj 发表于 2014-10-1 22:30
您试试我这条曲线,怎么也弄不出效果来。

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

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2014-10-2 01:01:05 | 显示全部楼层
对圆弧似乎没有效果

点评

弧线测试可以,如果不行,请去下载最新的 10.02 函数库。 [attachimg]10452[/attachimg]  详情 回复 发表于 2014-10-2 04:35
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-10-2 04:35:30 | 显示全部楼层
liuyj 发表于 2014-10-2 01:01
对圆弧似乎没有效果

弧线测试可以,如果不行,请去下载最新的 10.02 函数库。

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

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2014-10-2 21:42:47 | 显示全部楼层
本帖最后由 liuyj 于 2014-10-2 21:45 编辑

为什么在R18X64位的环境下,(xdrx_curve_getfirstderiv (car e) 0.)这句对圆弧没有返回值呢?因此也无法绘制箭头。加载了10.02的函数库了

点评

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

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2014-10-2 22:30:16 | 显示全部楼层
liuyj 发表于 2014-10-2 21:42
为什么在R18X64位的环境下,(xdrx_curve_getfirstderiv (car e) 0.)这句对圆弧没有返回值呢?因此也无法绘 ...

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

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2014-10-2 22:50:30 | 显示全部楼层
怪了,我的电脑无论是xdrx_curve_getfirstderiv还是vlax-curve-getFirstDeriv,对圆弧就是仅能返回nil,什么情况这是?

点评

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-10-2 23:05:57 | 显示全部楼层
liuyj 发表于 2014-10-2 22:50
怪了,我的电脑无论是xdrx_curve_getfirstderiv还是vlax-curve-getFirstDeriv,对圆弧就是仅能返回nil,什 ...

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

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2014-10-2 23:49:49 | 显示全部楼层
是的,我试了line、LWPOLYLINE、spline、arc等,只有arc是这样的,其余的都正常。

点评

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 01:43 , Processed in 0.315941 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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