18 Replies Latest reply on Nov 26, 2007 6:49 AM by Ranga Narasimhan

Non B-Spline surface creation

Hi all,

Is it possible to create Non B-Spline surfaces in SW. In other words, does SW support surfaces lke Bezier or hermite surfaces.

Thanks
• Non B-Spline surface creation
SolidWorks Curves and surfaces are NURB's (Non-uniform Rational B(Base))splines. The NURB's we use is a generalization of Bézier curve (multiple Be'zier arcs.) It means NURBS uses rational Bézier curves and an non-uniform explicitly given knot vector. Therefore, degree, control points, weights, and knot vector is needed to specify a NURBS curve.

So. the short answer is no, we do not support multiple types just NURB's.

• Non B-Spline surface creation
Hi Mark,

I am sorry, I am not master surfacing.
You said that solidworks surfaces are NURB's, but when I look into Rhino ( that also NURB's ) software.....why the type of the surface very different ?
In Rhino, we can show the control points and the surface looks very easy to push & pull ( very flexible ).

Regards,
DD
• Non B-Spline surface creation
This is not a difference in the surface type, its a difference in the tools. SolidWorks is a parametric, feature based, history based solid modeler. Rhino is a non-parametric direct geometry surface modeler.

Same NURBS data, different ways of working with it.
• Non B-Spline surface creation
Reading between the lines here I am interpreting this as"interface" rather than the underlying maths. Would thatbe correct Mark?

If this is the case, then the \$64,000 question is why are werestricted to one set of spline controls? In its raw form, you cancreate undefined splines in solidworks than mimic those in Rhino orAlias - you then have the option to constrain to those points.

Bottom line is, I and many others would dearly love to seeSolidWorks support additional ways of creating splines andcontrolling splines (points on curves, control vectors, rho,curvature continuous bezier - the current method of being able tochange each side of the spline is akin to Adobe Illustrator butactually creates  surface curvature discontinuities at thenode).

This is going to become more critical for SW as Autodesk starts tointegrate Alias into Inventor, or at least elements of Alias intoInventor.

good control=good curves=good surfaces=good product

I can understand that SW might want to allow parametric controlover spline points but from a product designer's point of viewassociativity to the surface is actually more important than tyingdown the curve with constraints and dimensions. For that reasonalone why can't SW just say - OK for these tools (conics, CVsplines etc) you can't define the nodes but you can maintainassociativity to the surface.

This is exactly what Rhino, Alias, Ashlar-Vellum Cobalt, VX andothers do.
• Non B-Spline surface creation
What Matt, Anna and Kevin have expressed about the differences between Rhino and SW is correct: it's more of the interface we put around our curves and surface controls.

Kevin, we have thru-points and control polygon for our splines, what other way/s would you want to control them? Of course we don't have Conics but we want them as much as you and have been looking into them for 3 years but there are technical/compatibility problems for us.

The discontinuity that you mention on pulling asymmetrically has been eliminated/fixed in 2008 splines.

What SW needs, and we know we need to work on it, is better tangent and C2 relationships for 3D splines (we use different solvers for 2D verses 3D sketches) - something that Rhino and Alias don't have as much trouble doing since there relationship is not explicitly parametric.

Another big difference between our thru-point spline and Rhino and Alias is that we re-parameterize on-the-fly which simply put means that our splines never knot. We need to insure that we do this because of the context of parametric/history environment.
• Non B-Spline surface creation
Hi all,

If by any chance, i would make a macro for supporting conics (actually NURBS reperesenting conics exactly) in SW, how many of you would be happy with it .

Thx
• Non B-Spline surface creation
hi matt,

Can you tell me actual meaning of parametric modeling... Because NURBS are parametric surfaces as far as i know. And any software, that implements the NURBS should have parametrics.

thanks
• Non B-Spline surface creation
Matt,

I think the Ranga is interpreting parametric to mean the following

http://en.wikipedia.org/wiki/Parametric_surface

And you mean parametrics in the way we envision it used with a feature based modeler which uses sketches and dimensions to control the parameters of the sketch/feature.

I think we are struggling with a language barrier a bit here and that Ranga maybe has never worked with a wire frame and surface modeler system like Rhino.

http://en.wikipedia.org/wiki/NURBS

FWIW,
• Non B-Spline surface creation
Hi anna,

What you said is absolutely right. I guess i have confused you people with my bad interpretation of "parametrics". Regrets on that.

• Non B-Spline surface creation
Hi all,

I just now came to know that it is possible to represent conics, cubic, bezier and B-spline curves exactly with NURBS itself !!

Thanks
• Non B-Spline surface creation
Ranga,

I would recommend reading The NURBS Book written by Piegl and Tiller, and available on Amazon.com. It explains exactly how you can represent analytical types within the NURBS structure, and a lot more. It gives both math and programming examples.

Yeah, Anna is correct. There is a difference between the parameters used by NURBS to create surfaces and the parameters used by end users to specify characteristics of features. Even a non-parametric modeler (from the user interface point of view) uses parameters to drive NURBS.

Sorry for the terminology confusion.
• Non B-Spline surface creation
Mark,

Please clarify what you mean when you said "our splines never knot." Terminology can get confusing when talking about splines. They have 'weighted knots' as part of their definition, but I bet you aren't talking about that. I'm guessing that you are talking about a spline curve that loops around and crosses over itself - like tying a knot.

For those who haven't tried it, that's a pretty cool behavior in SolidWorks that it doesn't let you edit spline points so that the curve crosses over itself. If you try, the curve turns yellow and bounces back to it's pre-edit shape.

Mark - isn't that the 're-parameterize on-the-fly' that you referred to?

Rhyc

• Non B-Spline surface creation
Hi,

Mark, I would like to know what is the technical problem in implementing conics in SW.

• Non B-Spline surface creation
It was more a question of the control of the spline as you drawMark.

Taking the Ashlar software as an example (the 3D modelling stuffnot Graphite), there are basically three ways to create acontinuous spline.

1. By points on the spline curve (like SolidWorks)
2. By CVs (like Rhino and Alias)
3. By Bezier controls (like Illustrator - but curvature continuousonly)

Unless I have been doing it wrong all these years, SolidWorks hasbasically one way to draw the spline - option1. You can display theCVs after creating but not as you are creating. Furthermore thereis no way to dimension or constrain a CV node - you can onlyconstraint to the actual points on the spline.

There are excellent controls for guiding tangency for the spline inSolidWorks but the whole process is not as fluid as it couldbe.

I also use VX, and in VX you have even more spline options than youhave in Cobalt or Rhino - right down to the ability to lock downCVs and spline nodes with all manner of constraints. Personally Ifind the interface a bit confusing but the control is there.

I know what you are saying about the issues with 3D splines butpersonally I find the 2D issues prevent me using SolidWorks for theentire process from early concept to production. The early conceptstages are the ones where I tend to use something else, and that isonly because of speed.

Once I know what I want SW takes over, and it is great (thats why Ibought it after all!), but there is always that need to start insomething else then recreate in SW. I usually knock up the initial3D curves or surfaces in Cobalt then take into SW for finsihing.This works well, but the problem is when you need to go right backto the start and tweak the curves.

Maybe the future holds something like freeform or spaceclaim likecontrols, I don't know what SW has up its sleeve! But it would begreat to have some kind of front end conceptual tool for curvenetwork generation before having to worry about parameterisationissues.

• Non B-Spline surface creation
Kevin,

We basically do all three in one spline, instead of separating them into different spline types like Ashlar and others do.

Also know that we have a C3 spline: If you draw a two point spline and apply Equal curvature to both ends, you get "degree raising" by default.

By point is the best know method amongst SW users. CV's is our "show Control polygons" and you pull on the CV's. The exception with SW is that we don't show the polynomials of the C2 (like Alias and rhino) but rather give you a magnitude handle to pull (which replaces it). "Bezier like" control was built into 2007 splines and we've improved it in 2008 to be guaranteed C2 across the internal point. It would be nice to lock or, better what many users have asked for is to, dimension the CV's - its on the list of things to do.

On the last issue of conceptual modeling, I'm, of course, not at liberty to divulge, other than to say this is a very important area for us and we certainly would like to do something in this area.

I have a session at SWW2007 that I will devote to the whole subject of 2D and 3D splines.
• Non B-Spline surface creation
Hi Mark,
you said.

Also know that we have a C3 spline: If you draw a two point spline and apply Equal curvature to both ends, you get "degree raising" by default.

I never tried this before. And that was coool..

But, normally when you say two curves have equal curvature at common end points, we should get a feel as if both the curves are one single curve But i didn't get such feel at all. I feel just C1 contuinity not C2 . Is there any thing wrong with my eyes

thx
Ranga
• Non B-Spline surface creation
Ranga,

I'm not at liberty to say right now. Keep your fingers crossed, I'm really trying to get them as a new sketch enitity.
• Non B-Spline surface creation
Rhyc,

Yes, you are correct - theoritically Bsplines have knots inherient to their definition. On a more pratical side, when you slide the interium points of our splines, the spline shape will not "bunch up" which is different from the way that Alias and Rhino splines behave. This occurs because we constantly are re-parametrizing the spline although we turn off re-parametrizing when you use the control polygon.

Rhyc, look forward to seeing you at SWW.