asdfxx 发表于 2009-7-25 17:46:00

5061220 发表于 2009-7-26 09:18:00

谢谢楼主源码,本人下载了参数学习

lijian22 发表于 2009-7-29 01:03:00

怎么不能使用呢》

yoyoho 发表于 2009-7-29 10:43:00

<p>感谢楼主提供源码,学习了!<br/></p>

z394326635 发表于 2009-7-29 11:07:00

elitefish 发表于 2009-7-29 11:19:00

<br/>;判断 点 与 曲线关系-1:曲线内    0:曲线上   1:曲线外<br/>(defun EF-Curve-ptInside ( entpt/ Count TmpRay)<br/>(setq randAngle (* (/ (ef-rand 3) 500) pi)) ;取 随机 角度<br/>(if (equal pt (vlax-curve-getClosestPointTo ent pt) 1E-6) <br/>    0 ;点在直线上<br/>    (progn<br/>      (setq ent (vlax-ename-&gt;vla-object ent))<br/>      (setq tmpRay (vlax-ename-&gt;vla-object<br/>       (entmakex (list '(0 . "RAY")<br/>          '(100 . "AcDbEntity")<br/>          '(100 . "AcDbRay")<br/>          (cons 10 pt)<br/>          (cons 11 (list (cos randAngle) (sin randAngle) 0))<br/>          )<br/>          )<br/>       )<br/>   )<br/>      (setq pt (vlax-3D-Point pt))<br/>      (setq Count 0)<br/>      ;;可根据需要调整扫描角度提高检索速度,本程序采用60度<br/>      (repeat 6<br/> (vla-rotate TmpRay pt (/ PI 3))<br/> ;;下面这句可以看到扫描过程,实际使用时可以注释掉 <br/>      ; (COMMAND "delay" 100)<br/> (if (zerop<br/>       (rem<br/>(length<br/>    (vlax-invoke ent 'IntersectWith TmpRay acExtendNone) <br/>    )<br/>6<br/>)<br/>       )<br/>   (setq Count (1- Count))<br/>   (setq Count (1+ Count))<br/>   )<br/> )<br/>      (vla-delete TmpRay)<br/>      (if (minusp Count)<br/> 1<br/> -1<br/> )<br/>      )<br/>    )<br/>)射线法判断,采用随机起始角度,以减少误判可能性支持曲线

yuun 发表于 2009-7-29 20:30:00

多谢分享,有问题还请水鱼兄多多指点。

jingjingme 发表于 2009-7-29 22:24:00

这两天精心分析了作者的源码,敬佩其深厚的编程功底。很多东西都做成了库文件和模块,建议新手向楼主学习。

skysurfer 发表于 2009-7-31 16:53:00

<p>这里看到熟悉的兄弟了</p>

lijian22 发表于 2009-8-2 11:41:00

w未见源码
页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: [原创]EF_Tools工具箱 [最后更新 2009.08.07]