Author Topic: The accurateness about getClosestPointTo between two Curves.  (Read 13289 times)

0 Members and 1 Guest are viewing this topic.

highflyingbird

  • Bull Frog
  • Posts: 414
  • Later equals never.
Re: The accurateness about getClosestPointTo between two Curves.
« Reply #15 on: July 31, 2010, 07:24:27 PM »
...Iíve also investigated the Curve3d.GetClosestPointTo(Curve3d, Tolerance), from the .NET side, and found the method to be a bit temperamental.  Does your updated code allow more consistent results?
...
Sorry,I just modified some bugs,havn't done more work  to improve it.
To be honest,I think ,if your want to get a more accurate result,you should use the iterative algorithm,maybe it's much better,and the function of getclosepointto
has several bugs.
so I put it way,wait some good ideas another day.

This attachment is the last one.
see the picture below:
« Last Edit: August 11, 2010, 08:38:42 AM by highflybird »
I am a bilingualist,Chinese and Chinglish.

It's Alive!

  • BricsCAD
  • Needs a day job
  • Posts: 6942
  • AKA Daniel
Re: The accurateness about getClosestPointTo between two Curves.
« Reply #16 on: August 03, 2010, 02:57:02 AM »
Have you tried this with Bricscad? just curious.. 

highflyingbird

  • Bull Frog
  • Posts: 414
  • Later equals never.
Re: The accurateness about getClosestPointTo between two Curves.
« Reply #17 on: August 03, 2010, 06:24:09 AM »
Have you tried this with Bricscad? just curious.. 
Actually, I did try this with Bricscad before you mentioned it.
but it didn't work.because Bricscad lacks  some functions .e.g:
Code: [Select]
Conversion.obj : error LNK2019: unresolved external symbol "public: class AcGeNurbCurve3d & __thiscall AcGeNurbCurve3d::makeClosed(void)" (?makeClosed@AcGeNurbCurve3d@@QAEAAV1@XZ) referenced in function "class AcGeNurbCurve3d * __cdecl AcDbCurveToAcGeCurve(class AcDbSpline const *)" (?AcDbCurveToAcGeCurve@@YAPAVAcGeNurbCurve3d@@PBVAcDbSpline@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: __thiscall AcGeNurbCurve3d::AcGeNurbCurve3d(class AcArray > const &,class AcGeVector3d const &,class AcGeVector3d const &,int,int,class AcGeTol const &)" (??0AcGeNurbCurve3d@@QAE@ABV?$AcArray@VAcGePoint3d@@V?$AcArrayMemCopyReallocator@VAcGePoint3d@@@@@@ABVAcGeVector3d@@1HHABVAcGeTol@@@Z) referenced in function "class AcGeNurbCurve3d * __cdecl AcDbCurveToAcGeCurve(class AcDbSpline const *)" (?AcDbCurveToAcGeCurve@@YAPAVAcGeNurbCurve3d@@PBVAcDbSpline@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: class AcGeKnotVector const & __thiscall AcGeSplineEnt3d::knots(void)const " (?knots@AcGeSplineEnt3d@@QBEABVAcGeKnotVector@@XZ) referenced in function "class AcDbSpline * __cdecl AcGeCurveToAcDbCurve(class AcGeNurbCurve3d const *)" (?AcGeCurveToAcDbCurve@@YAPAVAcDbSpline@@PBVAcGeNurbCurve3d@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: int __thiscall AcGeSplineEnt3d::numKnots(void)const " (?numKnots@AcGeSplineEnt3d@@QBEHXZ) referenced in function "class AcDbSpline * __cdecl AcGeCurveToAcDbCurve(class AcGeNurbCurve3d const *)" (?AcGeCurveToAcDbCurve@@YAPAVAcDbSpline@@PBVAcGeNurbCurve3d@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: int __thiscall AcGeSplineEnt3d::order(void)const " (?order@AcGeSplineEnt3d@@QBEHXZ) referenced in function "class AcDbSpline * __cdecl AcGeCurveToAcDbCurve(class AcGeNurbCurve3d const *)" (?AcGeCurveToAcDbCurve@@YAPAVAcDbSpline@@PBVAcGeNurbCurve3d@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: int __thiscall AcGeNurbCurve3d::getFitData(class AcArray > &,class AcGeTol &,int &,class AcGeVector3d &,class AcGeVector3d &)const " (?getFitData@AcGeNurbCurve3d@@QBEHAAV?$AcArray@VAcGePoint3d@@V?$AcArrayMemCopyReallocator@VAcGePoint3d@@@@@@AAVAcGeTol@@AAHAAVAcGeVector3d@@3@Z) referenced in function "class AcDbSpline * __cdecl AcGeCurveToAcDbCurve(class AcGeNurbCurve3d const *)" (?AcGeCurveToAcDbCurve@@YAPAVAcDbSpline@@PBVAcGeNurbCurve3d@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: int __thiscall AcGeSplineEnt3d::hasFitData(void)const " (?hasFitData@AcGeSplineEnt3d@@QBEHXZ) referenced in function "class AcDbSpline * __cdecl AcGeCurveToAcDbCurve(class AcGeNurbCurve3d const *)" (?AcGeCurveToAcDbCurve@@YAPAVAcDbSpline@@PBVAcGeNurbCurve3d@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: __thiscall AcGeCompositeCurve3d::AcGeCompositeCurve3d(class AcArray > const &)" (??0AcGeCompositeCurve3d@@QAE@ABV?$AcArray@PAXV?$AcArrayMemCopyReallocator@PAX@@@@@Z) referenced in function "class AcGeCompositeCurve3d * __cdecl AcDbCurveToAcGeCurve(class AcDbPolyline const *)" (?AcDbCurveToAcGeCurve@@YAPAVAcGeCompositeCurve3d@@PBVAcDbPolyline@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: void __thiscall AcGeCompositeCurve3d::getCurveList(class AcArray > &)const " (?getCurveList@AcGeCompositeCurve3d@@QBEXAAV?$AcArray@PAXV?$AcArrayMemCopyReallocator@PAX@@@@@Z) referenced in function "class AcDbPolyline * __cdecl AcGeCurveToAcDbCurve(class AcGeCompositeCurve3d const *)" (?AcGeCurveToAcDbCurve@@YAPAVAcDbPolyline@@PBVAcGeCompositeCurve3d@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: int __thiscall AcGeCurve3d::isLinear(class AcGeLine3d &,class AcGeTol const &)const " (?isLinear@AcGeCurve3d@@QBEHAAVAcGeLine3d@@ABVAcGeTol@@@Z) referenced in function "class AcDbPolyline * __cdecl AcGeCurveToAcDbCurve(class AcGeCompositeCurve3d const *)" (?AcGeCurveToAcDbCurve@@YAPAVAcDbPolyline@@PBVAcGeCompositeCurve3d@@@Z)
Conversion.obj : error LNK2019: unresolved external symbol "public: int __thiscall AcGeCurve3d::isPlanar(class AcGePlane &,class AcGeTol const &)const " (?isPlanar@AcGeCurve3d@@QBEHAAVAcGePlane@@ABVAcGeTol@@@Z) referenced in function "class AcDbPolyline * __cdecl AcGeCurveToAcDbCurve(class AcGeCompositeCurve3d const *)" (?AcGeCurveToAcDbCurve@@YAPAVAcDbPolyline@@PBVAcGeCompositeCurve3d@@@Z)
Debug/MyCurve.arx : fatal error LNK1120: 12 unresolved externals
I am a bilingualist,Chinese and Chinglish.

It's Alive!

  • BricsCAD
  • Needs a day job
  • Posts: 6942
  • AKA Daniel
Re: The accurateness about getClosestPointTo between two Curves.
« Reply #18 on: August 03, 2010, 11:05:43 AM »
Well darn, I guess those functions are still needing to be implemented. I met the guy who wrote the geometry library for Bricscad at the developers meeting. This guy is so smart... I kinda like Forest Gump talking to Steven Hawkin.. 

frtfff

  • Bull Frog
  • Posts: 215
Re: The accurateness about getClosestPointTo between two Curves.
« Reply #19 on: August 06, 2010, 08:47:13 PM »
 :-(

highflyingbird

  • Bull Frog
  • Posts: 414
  • Later equals never.
Re: The accurateness about getClosestPointTo between two Curves.
« Reply #20 on: September 17, 2010, 09:39:58 AM »
I created a routine to get the right position  of  closest points between two curves.

use command "test" and "ccc" to compare  the method of iteration to the function of GetCLosestPointto:
I am a bilingualist,Chinese and Chinglish.

001758

  • Guest
Re: The accurateness about getClosestPointTo between two Curves.
« Reply #21 on: November 29, 2011, 06:11:31 AM »
Help,

I really need that line that joins the two closest points.
I note in the post that the line is rarely need but only the readout.
I need that line - help.

frtfff

  • Bull Frog
  • Posts: 215
Re: The accurateness about getClosestPointTo between two Curves.
« Reply #22 on: November 30, 2011, 10:39:55 PM »
这个,是不是因为这个仅仅是三维立体图表现在二维平面的一个原因,还是,你一直都在用二维的检验?
It's 3D or 2D?