Solidworks Nurbs Editor

Discussion in 'SolidWorks' started by plasmaandrew, Jan 5, 2005.

  1. plasmaandrew

    plasmaandrew Guest

    Hello all,

    I have written a small program that allows you to directly edit the
    nurbs control points of virtually any face. It is seamlessly integrated
    with the solidworks GUI. If you would like a copy of this free
    software, simply email me at:



    and I will send you the zipped program.

    I really would like to get some feedback on this, as it is something
    that i always wished was in SW (so I wrote it myself) and I would like
    to see how many other users are interested.

    Thanks!

    _andrew_
     
    plasmaandrew, Jan 5, 2005
    #1
  2. plasmaandrew

    plasmaandrew Guest

    My email is:

    swnurbs _AT_ plasmadevelopment.com

    Sorry about that ;)
     
    plasmaandrew, Jan 5, 2005
    #2
  3. plasmaandrew

    P. Guest

    Pretty cool. And it is just a macro.

    I tried it in 2004 and it seemed to work fine.

    It is similar to some other SW functions in that you first have to
    create the surface and then you can play with it.

    I don't know if it make sense, but it would be nice to be able to set
    tangency on the edges.
     
    P., Jan 5, 2005
    #3
  4. plasmaandrew

    Andy Camps Guest

    Hey Andrew,

    Does it work on all versions of SW? 2003-2005?
    Send it anyway. Leave out the obvous part in my mail.

    Andy
     
    Andy Camps, Jan 5, 2005
    #4
  5. plasmaandrew

    neil Guest

    ok well initial impression seems good but

    1) crashed SW shortly after I picked a cylindrical face and had a warning
    message about not being a...sorry didn't catch it...was trying multi body at
    the time
    2) I think it needs 5 nurbs in either direction to be more useful for
    symmetrical changes.
    3) I had to pull quite a long way out on the points ...didn't seem to made a
    lot of difference to the actual shape...needs some sort of scale factor?

    will look some more...
    cheers
    neil
     
    neil, Jan 5, 2005
    #5
  6. plasmaandrew

    P. Guest

    I think he mentioned that in the README file under periodic surfaces.
    Well, yes, it would be nice to have the ability to have more or fewer
    control points

    and

    to be able to group them and move them together

    but

    it is pretty cool just the way it is.
    I noticed the same thing, but that is kind of the way it is with NURBS.
    This way it is not overly sensitive.
     
    P., Jan 6, 2005
    #6
  7. plasmaandrew

    matt Guest

    Andrew,

    Looks like you're out of the guitar case business? You might remember
    me from a past life.

    Anyway, Your macro works nicely. To quickly give some shape to a face,
    it's a nice tool, and at this point, the price is right.

    This actually works a lot like a product called Shape Works by a company
    called BarenBoym (www.baren-boym.com). Their version costs money, and
    it has some handy directional drag handles at each control point, plus,
    you can change the number of control points on the fly.

    Also, take a look at a newish SolidWorks product called Cosmic Blobs.

    It might be cool if yours did a "replace face" function automatically so
    it felt more like you were working directly on the solid.

    It would also be very cool if it could span multiple faces.

    As always, some sort of curvature / tangency control at the edges would
    be nice

    It's interesting that it won't work on cylindrical (periodic) faces as
    someone else pointed out, but it will work on spline based non-
    analytical surfaces.

    Something I've been hoping for with tools like this is some sort of a
    "push" tool, like a thermoforming tool. Kind of like the "Indent"
    function in SW05. I know there's the Deform / Surface Push, but that
    isn't controllable, and it doesn't seem like it's possible to do
    anything which you could call "intentional".

    Anyway, it's cool stuff, thanks for sharing it with us!

    Matt Lombard
     
    matt, Jan 6, 2005
    #7
  8. plasmaandrew

    Cliff Guest

    Assume that your NURBS are *at least* cubic.
    Leave the outer 3 sets of points alone. Then C2 will
    remain (if it existed in the first place).
    IF all you want is simple tangency, leave the outer 2
    sets of points alone (assuming you had tangency to
    begin with).

    (Outer N points is defined as counting inwards from any edge,
    starting with the point on the edge.)

    Beyond that, I think that it gets complicated <G>.
     
    Cliff, Jan 6, 2005
    #8
  9. plasmaandrew

    Cliff Guest

    Ummmm ..... knot points on the surface or hull vertex points?
     
    Cliff, Jan 6, 2005
    #9
  10. plasmaandrew

    neil Guest

    P.
    1) it wasn't mentioned in the readme in my email....but even so I would like
    just the warning and not the crash which came immediately afterward.
    2) specifically I was wishing for an odd number of points so that one fell
    on the mid point of a surface.
    3) it is good but it would be even cooler if some small changes were made
    e.g.
    it wasn't an issue of being overly sensitive it was about the movement being
    more reflective of the actual result.

    I hope Andrew appreciates that we really like what he has done and we are
    offering suggestions for its improvement.

    cheers
    neil
     
    neil, Jan 6, 2005
    #10
  11. plasmaandrew

    plasmaandrew Guest

    Thanks everyone for the interest and kind words. This macro is still a
    baby, so i will try to include the wish list in the next release. If I
    compile it, then i will probably implement some openGL to run the
    points instead of the windows GDI. The point distance issue is just a
    fact of life when it comes to b-spline surfaces, however, I will look
    into weighting the points to have more or less of an effect on the
    shape. Also, im looking at creating a "preview surface" so you can see
    what the surface will look like without commiting changes. Keep it up!
    _andrew_
     
    plasmaandrew, Jan 6, 2005
    #11
  12. plasmaandrew

    Cliff Guest

    It might be handy to be able to generate more points on the surface
    and use those instead of the original control points at times.
    Where they are located could be sort of a variable .... as could
    their density, local & otherwise.
    Don't know if that's been considered. Neither should be hard to do.
    but does allow the advanced user of such tings far wider control.
    It also incerases either the degree of the surface or the number
    of patches in it. Both can be options I suppose.
     
    Cliff, Jan 6, 2005
    #12
  13. plasmaandrew

    P. Guest

    One thing about NURBS is that the control points are not usually on the
    surface or anywhere near it. There are ways to generate control points
    from information on where the surface is or should be, but that takes
    more programming.

    For this kind of application I use Rhino as the benchmark for the user
    interface since I know a little Rhino and a lot of other people are
    familiar with it, i.e., the learning curve will be shorter.

    In production we have to be careful of the fact that the surfaces will
    not regenerate if they are opened on a seat of SW that does not have
    this macro installed. I would assume that this is not true if the model
    is exported to a dumb geometry format like parasolid.
     
    P., Jan 6, 2005
    #13
  14. plasmaandrew

    That70sTick Guest

    Still waiting for my copy.

    "Preview surface" is likely within the ability of SW API. Look up
    "temporary bodies" in the SW API help.

    If you would like a hand turning this into an addin, drop me a line at
    rol[3+1}_AT_LiquidSchwarz.com (do the math & remove the brackets)
    I can also be contacet via <http://www.EsoxRepublic.com>.
     
    That70sTick, Jan 6, 2005
    #14
  15. plasmaandrew

    plasmaandrew Guest

    Hmmmm, I wonder if SW corp could have been any less descriptive when it
    came to periodic nurbs in the API... The macro now supports periodic
    surfaces in any and all directions (you can now edit doughnuts!!) I
    also fixed that variable edge problem emailed to me by Paul. To those
    still waiting to get your copy, I apologize for the delay, I will be
    posting it on my website so you may download it soon.
    Thanks guys!

    _andrew_
     
    plasmaandrew, Jan 6, 2005
    #15
  16. plasmaandrew

    Cliff Guest

    There are two "types", sort of.
    The points on the surface (or near it of a tolerance
    & weighting is allowed) and hull vertex points, whch
    are handy displays to show curvature related things
    and to modify when such is allowed.
    If you look at an IGES file, as an example, it will
    show the points on the surface which define the
    surface.

    Sounds like you are thinking of the hull vertex
    points only. Are they the ones that define the surface
    in SW?
     
    Cliff, Jan 6, 2005
    #16
  17. plasmaandrew

    That70sTick Guest

    Mostly its a matter of terminology.

    In UniGraphics, and in geometry texts I have read, B-splines are
    defined by poles, which are as you described. The poles "attract" the
    spline by a factor varying from t=0 to t=1 along the length of a spline
    patch, with "t" varying along the length of the spline patch.

    Spline defining points are derived from the poles (closest point on
    spline to pole, I believe). It is possible to manipulate a surface by
    either splines or poles. Poles generally provide better curvature
    control, while points provide better positional control. UniGraphics
    has this ability. It would be nice to see it in SW.
     
    That70sTick, Jan 6, 2005
    #17
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.