Gu_xl
发表于 2014-7-18 20:26:51
本帖最后由 Gu_xl 于 2014-7-18 20:30 编辑
lgx9612 发表于 2014-7-18 19:45
再一次让你失望了,你的代码还是不能正确执行,附gif。
(setq pl (vlax-safearray->list
...
对你的不长进表示很失望,人都说吃一堑,长一智,你为什么还犯同样的错误!
对于你所说的不能包住spline的,请给出实际样例来!
lgx9612
发表于 2014-7-18 21:04:09
Gu_xl 发表于 2014-7-18 20:26 static/image/common/back.gif
对你的不长进表示很失望,人都说吃一堑,长一智,你为什么还犯同样的错误!
对于你所说的不能包住splin ...
见附图,找不出实例来,是我的猜想。spline烦我很久了,不想再烦它了.
Gu_xl
发表于 2014-7-18 21:43:15
lgx9612 发表于 2014-7-18 21:04 static/image/common/back.gif
见附图,找不出实例来,是我的猜想。spline烦我很久了,不想再烦它了.
这只是你的想当然!
Spline除1阶(实际就是直线)不能正确计算vla-GetBoundingBox外,其他的情况vla-GetBoundingBox计算的轮廓范围应该都能包含SPLINE!除非你能找出不能包含的实例来!
lgx9612
发表于 2014-7-19 10:55:29
本帖最后由 lgx9612 于 2014-7-19 11:12 编辑
Gu_xl 发表于 2014-7-18 21:43 static/image/common/back.gif
这只是你的想当然!
Spline除1阶(实际就是直线)不能正确计算vla-GetBoundingBox外,其他的情况vla-Get ...
这不只是我的想当然,是我的经验一直在告诉你,我也不是非不发实例出来,因为手中没有实例
(之前做这此程序是半年多前的事了),此事是可遇不可求,我也不是就为研究spline线而研究,我研究spline的原因是我在做<按区域自动生成块>工具时久攻不下的一个难道.那我为什么做<按区域自动生成块>这个工具呢,是因为我之前经常有的模一套模就出一百多件产品,所以想用这个工具方便自己,所以一套模中常数十万计的曲线遇到几个奇怪的曲线那就是不奇怪了.因为我的工具是先把所有曲线和块等等计算完后再做块的,所以哪怕一个点一条曲线不成立,后面不能执行了。
应于你的要求,昨晚又烦了一晚上,在找实例、调试、试验到深夜。至于求出的包容盒子完全在曲线之外的实例就不找了,它的机率就像中彩票一样难,如你不信就当我说谎话吧.
我说:单从这一句好像还不是很能够完全包住曲线
(setq pl (vlax-safearray->list
(vlax-variant-value (vla-get-ControlPoints obj))
)
),我也不能证明它不能完全包住曲线,我本着我的思路认为加一点余量会好.做程序我觉得应该把种种可能都是考虑一下.
证明自己对的比较容易,证明自己错了比较难.言语之间似有冒犯,多有得罪.
Gu_xl
发表于 2014-7-19 11:32:09
本帖最后由 Gu_xl 于 2014-7-19 11:33 编辑
lgx9612 发表于 2014-7-19 10:55 static/image/common/back.gif
(setq pl (vlax-safearray->list
(vlax-variant-value (vla-get-ControlPoints obj))
)
)
这句当然不能包含spline!
只是你没看明白代码而已!这句是在1阶的情况下来计算包围框,其他都是用vla-getboundingbox来计算包围框!
lgx9612
发表于 2014-7-19 12:38:08
Gu_xl 发表于 2014-7-19 11:32 static/image/common/back.gif
(setq pl (vlax-safearray->list
(vlax-variant-value (vla-get-ControlPoints obj))
...
拙见!
风树
发表于 2014-7-19 13:23:25
还不是都在对cad买单,cad做得更好,没有这个bug一切都没事了
最新版的cad还会出现这个问题吗?
先收藏记录一下
lgx9612
发表于 2014-7-19 14:06:38
Gu_xl 发表于 2014-7-19 11:32 static/image/common/back.gif
(setq pl (vlax-safearray->list
(vlax-variant-value (vla-get-ControlPoints obj))
...
其实我是要告诉你,你的代码的一些问题,不是我不明白的问题。相反这句代码(setq pl (vlax-safearray->list
(vlax-variant-value (vla-get-ControlPoints obj))
)
)比vla-getboundingbox这个好多了。我是告诉你单从这一句好像还不是很能够(或者说很好的)完全包住曲线,但我的理解它比vla-getboundingbox这个好多了.让我们停止讨论spline吧!
lgx9612
发表于 2014-7-19 14:08:22
风树 发表于 2014-7-19 13:23 static/image/common/back.gif
还不是都在对cad买单,cad做得更好,没有这个bug一切都没事了
最新版的cad还会出现这个问题吗?
先收藏 ...
太对了,cad太不负责了.
xyp1964
发表于 2014-7-19 14:54:33
简单的反而不行