To make it clear: the CubitVector list for the points should only contain mid-point, it's a one point list.<br><br>Thanks.<br><br>jane<br><br><div class="gmail_quote">On Tue, Jan 10, 2012 at 9:49 AM, Jane Hu <span dir="ltr"><<a href="mailto:janejhu@gmail.com">janejhu@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi, Boyd:<br><br>The point list should include only 3 points without duplicates. If you called GeometryModifyTool::make_RefEdge(), you need to pass in start and end vertex besides the mid-point as the list member. Can you double check on this?<br>
<br>Thanks.<span class="HOEnZb"><font color="#888888"><br><br>jane</font></span><div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">
On Mon, Jan 9, 2012 at 2:29 PM, Boyd Tidwell <span dir="ltr"><<a href="mailto:bktidwell373@gmail.com" target="_blank">bktidwell373@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Jane,<br>
<br>
After applying your changes I now get an exception raised. Here is<br>
the detail,<br>
<br>
<br>
In OCCModifyEngine.cpp, my line 426 (Curve* OCCModifyEngine::make_Curve)<br>
<br>
//make curve according to the curve type.<br>
if(curve_type == SPLINE_CURVE_TYPE)<br>
{<br>
GeomAPI_Interpolate spline(points, CUBIT_FALSE, TOL); <-- this call<br>
<br>
which calls:<br>
<br>
In GeomAPI_Interpolate.cxx:<br>
<br>
GeomAPI_Interpolate::GeomAPI_Interpolate<br>
(const Handle_TColgp_HArray1OfPnt& PointsPtr,<br>
const Standard_Boolean PeriodicFlag,<br>
const Standard_Real Tolerance) :<br>
myTolerance(Tolerance),<br>
myPoints(PointsPtr),<br>
myIsDone(Standard_False),<br>
myPeriodic(PeriodicFlag),<br>
myTangentRequest(Standard_False)<br>
{<br>
Standard_Integer ii ;<br>
Standard_Boolean result =<br>
CheckPoints(PointsPtr->Array1(),<br>
Tolerance) ;<br>
myTangents =<br>
new TColgp_HArray1OfVec(myPoints->Lower(),<br>
myPoints->Upper()) ;<br>
myTangentFlags =<br>
new TColStd_HArray1OfBoolean(myPoints->Lower(),<br>
myPoints->Upper()) ;<br>
<br>
if (!result) {<br>
Standard_ConstructionError::Raise(); <----- hits here<br>
}<br>
<br>
The "Tolerance" passed in is 9.9999999999999995e-008.<br>
The "points" variable contains 5 points:<br>
2 with value 0,0,0<br>
2 with value 1,0,1<br>
1 with value 2,0,0<br>
<br>
and, of course, "result" is zero.<br>
<br>
Hope this helps.<br>
<br>
-Boyd<br>
<br>
<br>
<br>
<br>
<br>
>Hi, Boyd<br>
<br>
>This has been confirmed and fixed in most recent cgm. Thanks.<br>
<br>
>Jane<br>
<br>
On Thu, Dec 22, 2011 at 11:23 AM, Boyd Tidwell <boyd at <a href="http://csimsoft.com" target="_blank">csimsoft.com</a>> wrote:<br>
<br>
> Jane,<br>
><br>
> The following:<br>
><br>
> create vertex 0 0 0<br>
> create vertex 1 0 1<br>
> create vertex 2 0 0<br>
> create curve vertex 1 2 3 spline<br>
><br>
> should create a curve that includes all three vertices. It does so in<br>
> Cubit with the Acis engine but with OCC, the middle vertex (3) gets left<br>
> out. I looked a bit into the code with debug but I didn't come close to<br>
> having an idea what the problem may be.<br>
><br>
> Thanks,<br>
><br>
> - Boyd<br>
><br>
</blockquote></div><br>
</div></div></blockquote></div><br>