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

    Non B-Spline surface creation

    Ranga Narasimhan
      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.

        • 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
            Designer Designer
            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 ).

            Could you give me explanation about this, please ?

              • Non B-Spline surface creation
                Matt Lombard
                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
                    Kevin Quigley
                    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
                      Ranga Narasimhan
                      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.

                    • Non B-Spline surface creation
                      Rhyc Sandberg

                      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?


                        • Non B-Spline surface creation
                          Ranga Narasimhan

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

                            • Non B-Spline surface creation
                              Kevin Quigley
                              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

                                  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
                                      Ranga Narasimhan
                                      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

                                  • Non B-Spline surface creation

                                    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

                                    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.