设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

返回列表
查看: 82|回复: 14

[每日一码] 用点表模拟多段线

[复制链接]

签到天数: 764 天

连续签到: 28 天

[LV.10]以坛为家III

已领礼包: 38个

财富等级: 招财进宝

发表于 2017-7-14 17:44:50 | 显示全部楼层 |阅读模式

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

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

x
下面代码,返回点表模拟的多段线,弧线段用凸度精度参数控制,直线段返回两点

QQ截图20170714174342.png

  1. ;;                                                                            ;
  2. ;; tracepline2     by ymg                                                     ;
  3. ;;                                                                            ;
  4. ;; Argument:  en,   Ename of a Polyline                                       ;
  5. ;;           tol,  Tolerance (Maximum Sagitta Allowed on Bulges)              ;
  6. ;;                                                                            ;
  7. ;; Return:  An Ordered Points List Approximating the Polyline                 ;
  8. ;;       (Requires ceil function)                                             ;

  9. (defun tracepline2 (en tol / b d i j obj pl)
  10.    (setq obj (vlax-ename->vla-object en))
  11.    (setq pl (cons (vlax-curve-getpointatparam en (setq i (vlax-curve-getEndParam en))) pl))

  12.    (repeat (fix i)
  13.       (if (not (zerop (setq b (abs (vlax-invoke obj 'getbulge (setq i (1- i)))))))
  14.          (progn
  15.             (setq j (ceil (sqrt (/ (* 0.5 (distance (car pl) (vlax-curve-getpointatparam en i)) b) tol)))
  16.                   d (/ 1.0 j)
  17.                   i (1+ i)
  18.             )
  19.             (repeat j
  20.                 (setq pl (cons (vlax-curve-getpointatparam en (setq i (- i d))) pl))
  21.             )
  22.          )
  23.          (setq pl (cons (vlax-curve-getPointAtParam en i) pl))
  24.       )
  25.    )
  26.    pl
  27. )


CEIL函数:

游客,如果您要查看本帖隐藏内容请回复







上一篇:vlax-curve-getparamatpoint
下一篇:绘制块实体属性文字的文字框
回复
百度谷歌雅虎搜狗搜搜有道360奇虎

使用道具 举报

签到天数: 1173 天

连续签到: 9 天

[LV.10]以坛为家III

已领礼包: 2475个

财富等级: 金玉满堂

发表于 2017-7-14 17:49:16 | 显示全部楼层
这个好..不用炸开分了..
回复 支持 反对

使用道具 举报

签到天数: 1509 天

连续签到: 48 天

[LV.Master]伴坛终老I

已领礼包: 4146个

财富等级: 富可敌国

发表于 2017-7-14 18:11:37 | 显示全部楼层
跟xdrx_curve_getSamplePoints效果差不多吧
回复 支持 反对

使用道具 举报

签到天数: 897 天

连续签到: 94 天

[LV.10]以坛为家III

已领礼包: 1320个

财富等级: 财源广进

发表于 2017-7-14 22:22:27 | 显示全部楼层
这个好。想要一个这样的程序。


回复 支持 反对

使用道具 举报

签到天数: 636 天

连续签到: 76 天

[LV.9]以坛为家II

已领礼包: 1037个

财富等级: 财源广进

发表于 2017-7-14 22:59:43 来自手机 | 显示全部楼层
楼梯上班呢吗呀你们不要脸色彩缤纷五洲大酒店
回复 支持 反对

使用道具 举报

签到天数: 269 天

连续签到: 40 天

[LV.8]以坛为家I

已领礼包: 336个

财富等级: 日进斗金

发表于 2017-7-15 00:40:05 | 显示全部楼层
学习一下
回复

使用道具 举报

签到天数: 1533 天

连续签到: 42 天

[LV.Master]伴坛终老I

已领礼包: 4557个

财富等级: 富可敌国

发表于 2017-7-15 07:12:54 | 显示全部楼层
感谢分享学习!
回复 支持 反对

使用道具 举报

签到天数: 1523 天

连续签到: 108 天

[LV.Master]伴坛终老I

已领礼包: 4351个

财富等级: 富可敌国

发表于 2017-7-15 08:20:08 | 显示全部楼层
谢谢版主分享程序!
回复 支持 反对

使用道具 举报

签到天数: 897 天

连续签到: 94 天

[LV.10]以坛为家III

已领礼包: 1320个

财富等级: 财源广进

发表于 2017-7-15 09:17:22 | 显示全部楼层
请教老大这里 函数:(vla-getbulge plObj index),这个'getbulge怎么写啊!
回复 支持 反对

使用道具 举报

签到天数: 89 天

连续签到: 2 天

[LV.6]常住居民II

已领礼包: 27个

财富等级: 恭喜发财

发表于 7 天前 | 显示全部楼层
好东西有用的
回复 支持 反对

使用道具 举报

签到天数: 764 天

连续签到: 28 天

[LV.10]以坛为家III

已领礼包: 38个

财富等级: 招财进宝

 楼主| 发表于 7 天前 | 显示全部楼层

什么怎么写?
回复 支持 反对

使用道具 举报

签到天数: 897 天

连续签到: 94 天

[LV.10]以坛为家III

已领礼包: 1320个

财富等级: 财源广进

发表于 6 天前 | 显示全部楼层

谢谢老大回复。我原来以为 'getbulge 是个子函数,结果不是的,谢谢!

回复 支持 反对

使用道具 举报

签到天数: 1292 天

连续签到: 5 天

[LV.10]以坛为家III

点击这里给我发消息

已领礼包: 2915个

财富等级: 家财万贯

发表于 6 天前 | 显示全部楼层
回复学习学习,谢谢
回复 支持 反对

使用道具 举报

签到天数: 148 天

连续签到: 6 天

[LV.7]常住居民III

已领礼包: 106个

财富等级: 日进斗金

发表于 6 天前 | 显示全部楼层
感谢分享学习!
回复 支持 反对

使用道具 举报

签到天数: 101 天

连续签到: 1 天

[LV.6]常住居民II

发表于 6 天前 来自手机 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

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

本版积分规则

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

辽公网安备 21040202000005号

GMT+8, 2017-7-23 02:55 , Processed in 0.709783 second(s), 127 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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