明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1468|回复: 3

[源码] 绘制道路视距三角区,测试笔记~~~

[复制链接]
发表于 2014-7-23 14:37:04 | 显示全部楼层 |阅读模式
;头大啊~实在编不出来了,继续不下去了,求高手帮忙~~~
;目前这个测试成功,但是只能针对两条线相交的十字路口,
  1. ;视距三角区测试,目前仅适用于俩线相交的十字路口
  2. ;还需要加入1.三条或四条线相交的十字路口.
  3. ;          2.三条或四条线相交的T字Y字路口.
  4. (defun c:tt()
  5. (setq vvlst '((100 160)(80 100)(60 70)(50 60)(40 40)(30 30)(20 20)));设计车速与停车视距表
  6. (setq pt (getpoint "\n选择道路交点:")
  7.       ss (ssget "C" pt pt '((0 . "*POLYLINE,LINE") (8 . "DL_道路中线")))
  8.       )
  9.    (setq obj0 (vlax-ename->vla-object (ssname ss 0))
  10.          vv (atoi (vlax-ldata-get obj0 "设计车速"))
  11.          dis (cadr(assoc vv vvlst))
  12.          )
  13.    (setq dd (vlax-curve-getDistAtPoint obj0 pt)
  14.          pt1 (vlax-curve-getPointAtDist obj0 (+ dd dis))
  15.          pt2 (vlax-curve-getPointAtDist obj0 (-  dd dis))
  16.          )
  17.   (setq obj1 (vlax-ename->vla-object (ssname ss 1))
  18.          vv (atoi (vlax-ldata-get obj1 "设计车速"))
  19.          dis (cadr(assoc vv vvlst))
  20.          )
  21.    (setq dd (vlax-curve-getDistAtPoint obj1 pt)
  22.          pt3 (vlax-curve-getPointAtDist obj1 (+ dd dis))
  23.          pt4 (vlax-curve-getPointAtDist obj1 (- dd dis))
  24.          )
  25.   (setq ptlst(list pt1 pt3 pt2 pt4 pt1))
  26.   (make-lwpolyline ptlst)
  27. )

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2014-7-23 14:39:17 | 显示全部楼层

欢迎大家测试,求高手帮忙改进~

本帖子中包含更多资源

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

x
 楼主| 发表于 2014-7-23 14:43:19 | 显示全部楼层
哦,对了,程序开始时,忘记设定交点OSMODE 32了~
发表于 2014-7-23 14:49:20 | 显示全部楼层
同行啊   支持下!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-24 08:02 , Processed in 0.186759 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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