Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Onshape and surfacing

caradoncaradon OS Professional, Mentor Posts: 300 PRO
I had a discussion with a bunch of designers about complex surfacing last week. Which brings me to the topic of surfacing in Onshape...
Surfacing is needed for maybe +95% of consumer products, so eventually tools for surfacing will have to be provided. :)
In the meantime, let's have a little discussion!

I'm curious to know what approache(s) to free-form surfacing will be first implemented and/or will be most important.

My vote is for a combination of:
  • Explicit surface modeling (to the likes of: VSR/Autodesk Shape Modeling, ISDX, ICEM...): curves in 3D space, CV controlled curves and surfaces, dedicated styling environment...
  • Mesh based surfacing (to the likes of: T-Splines, nPower Power Surfacing...): polygon modeling, creasing and /or weighting, direct NURBS interpretation...

Both with full direct integration with parametric features (no conversions going back and forth!) and associativity.

What do you think?

Dries
«1

Comments

  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    Yes, both are needed: conventional & mesh based. And... oh yes, let's keep'm parametric.

    I use surfaces for more than consumer products, feel like I'm working with one arm tied behind my back without them.

     
  • kevin_quigleykevin_quigley Member Posts: 306 ✭✭✭
    Yes and yes. 
  • caradoncaradon OS Professional, Mentor Posts: 300 PRO
    My main measurement for success of a surfacing tool is ease of use.
    I use Rhino & the Autodesk Shape Modeling plug-in (formerly from VSR) for surfacing.
    With that plug-in, creating high quality and light (Bezier) curves/surfaces is very fast and intuitive (eventhough the functions for geometry creation/analysis in Shape Modeling are VERY deep.).

    For surfacing, I always preferred the Rhino workflow over the MCAD 'feature hell'. Operations like trimming surfaces, curve/surface blending, CV pulling of curves/surfaces... are far more cumersome in a purely history-based modeler.
    An integrated free-form styling environment built into the MCAD core would be the ideal solution for me.

    There's a reason companies like Motorola have a Alias > Creo workflow. Designers want the fastest, most flexible and highest quality tools for styling.

    Dries
  • kevin_quigleykevin_quigley Member Posts: 306 ✭✭✭
    Im not wanting to disagree Dries, but, I disagree :-)

    Alias and Rhino have the bulk of the 'hairdressing' market but both have arcane, old fashioned difficult user interfaces. I mean, Rhino was designed as an Autocad add on...and it shows. 

    I find both very frustrating apps due to the lack of robust associativity. To me, it is like going back to the 80s and using DUCT again. For me, any modern design application must have robust history/associativity.

    here in the UK SolidWorks is by far the most widely used industrial design tool. Alias makes a showing in some places, as does Rhino (though Rhino has more of a base in architecture here). 

    The fact is, for everyday product design the hand sketch>solidworks> keyshot workflow is pretty good. Yes, i use Rhino, but mainly for specific jobs or as a generic file can opener. Yes, the ultimate quality of surfaces from Rhino or a more specialist app is better than SolidWorks, but that is nothing to do with Rhino being better, it is more about SolidWorks being tied down.

    For me, there are better apps around (than Alias or Rhino) for industrial design that combine great surfacing with robust associative modelling. Hopefully, one day, OnShape will join that group.

  • kevin_quigleykevin_quigley Member Posts: 306 ✭✭✭
    FYI look at this...ViaCAD...a subset of SharkFX. ViaCAD sells for peanuts. Shark has more surfacing options including surface cv editing and a lot of other stuff.

    http://masterviacad.com/page7/page7.html

    Viacad/Shark is developed by about 3 people. Its not perfect ( really not perfect!) but it is very easy to use. SolidThinking has many of the same tools, but more higher end surfacing controls. 
  • caradoncaradon OS Professional, Mentor Posts: 300 PRO
    edited November 2014
    @KevinQuigley‌
    I agree with many of your points.

    Let me be clear. I don't want another Rhino inside Onshape. What I want is fully associative surface design through a workflow that is similar in speed and flexibility of a dedicated surface modeler.
    Something like ISDX in Creo has the same philosophy. The surfacing can be fully constrained, but multiple curves/surfaces can be created in a single styling feature. You get a model tree, but it's not necessarily a 'history'. Yet surfaces can have a C2 boundary condition.

    Btw, with Shape Modeling, I barely use the native Rhino menus/tools. 

    Dries
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    B-splines that's were it's at man. Keep it simple with cubic curves. I like the weighted tug & pull in OS's curves, must be the pre-cursor to tug & pull surfaces (only if you believe surfaces are made from curves). 
  • caradoncaradon OS Professional, Mentor Posts: 300 PRO
    edited November 2014
    bill said:
    ....
    must be the pre-cursor to tug & pull surfaces (only if you believe surfaces are made from curves). 
    Tug & pull surfaces... doesn't that (ideally) require Bezier surfaces? Thus generated from Bezier curves. B-spline surface = control point madness.

    Ability to quickly and reliably tweak surfaces through CV edits is one of the areas where Beziers (SW Style Spline) are better than B-splines (SW 'legacy' Spline).

    Regarding simplicity: in SW I find Style Splines much easier (AND more robust) to work with than the regular Spline.

    Btw, I'm making a case for AWESOME surfacing here. If Onshape had SolidWorks-level surfacing, I would be happy too. It just wouldn't be totally awesome. :)

    Dries
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    I think OS surfaces will be better than SW. I've been playing around with the splines in OS and they behave differently, I think better, more interesting.

    video



  • caradoncaradon OS Professional, Mentor Posts: 300 PRO
  • Mark_SandersMark_Sanders Member Posts: 17 ✭✭
    edited December 2014
    I agree, with Dries, OP .. yes and yes ! 

    I do loads of swoopy injection mouldings, and also the mechanical bits that need to fit and work in, with, and often part of them.

    Gone are the days where ID was just a skin over 'mechanicals'.. that's way too inefficient and wasteful of all resources, especially time.
    So we need: 1. speed, 2. ease of use,  3. accuracy and 4. control (parametric and 'dimensional' ideally).

    Thats a 'big ask' for OS considering there are virtually no surface type tools at the moment. Although I do most of this stuff currently in Solidworks (for  1-3 above), but sadly not as much 4 (as solidworks surface parametrics are not robust enough ). I cant afford ($$ or time) for a full Cata seat with 'imagine and shape' .. although I 'scrounge' one from clients. The snag there is Catia is pretty slow cf SWKS to get results, even tho they are accurate. These 'automotive/aircraft strength'  CAD systems are so complex - they are for 'CAD operators' rather than designers, ie massive number of non-intuitive mouse clicks,  etc ...

    Has a 'proper' CAD system, that gets stuff we imagine and sketch on paper yet to be designed ?
  • kevin_quigleykevin_quigley Member Posts: 306 ✭✭✭
    Mark give Power Surfacing a try. It really is pretty good! Ask to joint the v2 beta.
  • joshbjoshb Member Posts: 6
    edited March 2015
    Comment moved to the appropriate forum area.
  • andyandy Member Posts: 17 ✭✭
    As a product designer, most of my workflow is done using surfacing and I find the ability to dimension handles and use curvature combs a must. A lot of what we do is based on extruding 2 surfaces to get a 3D intersection curve that is used to loft. Ensuring that spline handles are equal lengths means these 3D intersections curves remain pure. If OS includes this feature set, it will be a killer app. Right now, as much as I would love to use it, simple extrudes and sweeps are too limiting.
  • caradoncaradon OS Professional, Mentor Posts: 300 PRO
    edited March 2015
    Andy said:
    ...
    A lot of what we do is based on extruding 2 surfaces to get a 3D intersection curve that is used to loft. Ensuring that spline handles are equal lengths means these 3D intersections curves remain pure.
    ...
    Correct me if I'm wrong, but aren't 3D intersection curves ALWAYS dirty?
    Do you do this kind of work in SolidWorks or any other MCAD software?
    If so, then open your CAD model in something like Rhino. The CV count will be madness!
    Personally, I always try to avoid intersection curves, especially as input for main surfaces. They tend to be super heavy...

    Autodesk Shape Modeling Plug-in for Rhino has some great tools to sort these kind of issues. It allows to regenerate 'dirty multi-span curves' (like the kind Rhino creates when intersecting curves) into clean Bezier curves within a given tolerance. This is the ideal workflow in my opinion.

    Dries
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited March 2015
    The intersection of 2 parametric (spline based) surfaces is "dirty" a guess in all systems. It's resolution is based on the resolution set by the CAD system. In Pro/e you could set the system tolerance, in SW you couldn't, it computed it for you.

    When you're dealing with a 3D manifold especially with parametric surfaces it a guessing game, all systems deal with tolerances because that's the math. Everybody does it the same way, million dollar systems and $100/month systems.

    In Pro/e there were times when we had to set the resolution tighter, which meant slower regen times. In SW we never worried about the global tolerance as it figured out the resolution and did a good job.



    The red curve isn't easy to figure out and is a guessing game. The algorithm tries a node point and then asks how far away am I from each surface? If it's within the system's resolution then it moves on to the next node. Do you want to be rich? Figure out a better way to solve this geometric problem.

    I wouldn't worry about using intersecting curves, they will slow your system down, it's just the way things are done. It's an equal playing field and everyones on this field. Everyone has this same problem to solve.

    On a different note
    The biggest issue I run into is people using scanned data. Connecting the scan points with a spline can be pure evil.


    This is not good and I see this more often than I should. If you're going to use scanned data, simplify the node count using a fit spline algorithm and decrease the node count. I've seen many projects that use scanned data and very soon they become useless. Why? Because if you create a 100 node spline through 100 scan points and then extrude, loft, network, blend or what you want to call it. This disaster propagates through the design eventually bringing the system to it's knees. Nasty scanned points-->nasty spline-->nasty surface-->nasty solid-->nasty part-->nasty assembly. I see this a lot. The only way to fix it is to goto the very first feature and redefine the impossible multi-node spline. Of course nothing rebuilds once you redefine this spline and its a lot work to get a project like this back on track. This is not a fun day at the office. Watch out for this one.





  • caradoncaradon OS Professional, Mentor Posts: 300 PRO
    @bill
    Well said. Intersecting curves are so... *yuck*.

    Dries
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited March 2015


    The geometry kernal, parasolids, keeps track of the face type. Basically: analytic and parametric. Don't confuse parametric as it means built with parameters. IGES calls swoopy surfaces parametric and is my reason for referring to them this way. It has nothing to do with a parametric solid modeler, actually it does, built with parameters.

    Look at the 2 curves. One curve is a nightmare to compute the other curve is implicit meaning you can compute where this line is in space using very few CPU cycles. It's a world of difference as far as performance is concerned. 

    Have you ever wondered why you can see an entire oil refinery built inside a solid modeler or a computer mouse? Doesn't seem right because the oil refinery has so much detail and yet the mouse is so tiny. It boils down to the intersecting curves.

    Dries I think that's what you mean by dirty, but no one can get away from being dirty. It's just part of CAD.



     
  • caradoncaradon OS Professional, Mentor Posts: 300 PRO
    edited March 2015
    bill said:
    ...
    Dries I think that's what you mean by dirty, but no one can get away from being dirty. It's just part of CAD.
    True, but there's a difference between "not being able to get away from being dirty" (most fillets are dirty...) and "using dirty curves as input for surfaces". Whenever you can create a surface from a set of clean curves, you should. Leave the intersection curve as a last resort.

    Dries
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    True, simple geometry gets complex fast. One thing that always bugged me in solidworks is being able to see what's going on ie.. after using the fit spline command what kind of entity do you have? You can't understand how wicked a surface is, how it was created, how tight is it, how wound up is it? Turn the UV curves on and you get some approximation which isn't useful for debugging.

    Often when I knit a manifold together in solidworks it takes longer than other times. I know I have something poorly defined but what? You just have to keep a mental record of the surface interactions because there are no debugging tools telling you when things are going nuts.

    I think this is to your point and keeping things clean. I believe I hang things on the ragged edge more than you do.

    Thanks for the discussion, I really enjoyed it, finished my coffee and have to go to work......


  • andyandy Member Posts: 17 ✭✭
    Hi Guys,

    Thanks for your input. I can see why you would want to avoid using them. However I have found they allow you to create incredibly robust parametric models that can be resized and pushed and pulled with reliable rebuilds, and when you can dimension the handles you can control the curves precisely in 3D to get smooth 3D curves. When you think about the mathematics behind what you are doing it might not be the best and most efficient method of modelling, but for control of complex surfaces it works well.



  • caradoncaradon OS Professional, Mentor Posts: 300 PRO
    @Andy
    Whatever works for you is good. :)
    I just tend to be pretty anal when it comes to clean curves. Haha!

    Dries
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    Andy

    Don't get me wrong, I use them all the time. In fact most of my customer were block, block, fillet, fillet until I came around and showed them how nice their designs can look. 

    Do you have some images of your swoopy stuff? I'd like to see it.



  • shaun_3shaun_3 Member Posts: 11
    @bill, Have you played with PowerSurfacing for SW? I'd be interested to know how it would fit into your workflow and if you think that style would fit well with OS non-swoopy workflow.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited March 2015
    No I haven't. I don't spend a lot time in SW any more exploring, just the minimum to get my work done.

    I've played a little with t-splines in fusion & rhino but nothing production wise. I've read the Dr. Thomas W. Sederberg class notes who keeps no secrets and tells you everything you'd want to know about sub-divisional surfaces.

    I helped design a mountain bike frame with another engineer, he did the surfacing inside rhino using t-splines. They asked how long it would take me using classical surfacing to model the frame in SW. I said 2 weeks which they laughed and said it took them an afternoon in t-splines. Pretty impressive.

    As a priority, I think I would want classical surfacing first, but it would be nice to follow it up with sub-divisional surfacing soon after that.

    The powersurfacing guys I believe are here in San Diego and I've spoke with them in the past when working with spaceclaim. I think they were looking into porting to spaceclaim. It'd be nice if they sprinkled some of that sub-d magic here, but it has to be parametric.

    The one that I find most interesting is modo. But haven't played with it.

    Have you played with 
    powersurfacing inside SW, is it parametric? I guess I could watch a demo.

    Sub-D definitely has the buzz and would be a nice addition to the parametric family. I tend to stay away from rhino because it's not parametric and changes mean you start over. I don't take fusion seriously so I wouldn't waste my time.

    Modo looks very interesting and would be my choice to dig in. 

    These guys here (OS) will do it, it's a matter of timing. 

    What are your feelings about this?

    Classical Surfacing:


  • joshbjoshb Member Posts: 6
    MODO is a subD modeling and sculpting tool, but it also includes rendering, animation, rigging, lighting, texturing and so on. Luxology and now The Foundry have done a good job of bridging the CAD/subD divide with import/export plugins, so MODO plays fairly nicely with CAD platforms. But you don't get parametric features, and things start to fragment as surface complexity increases. For what it offers, the price can't beat--it's more competitive than PowerSurfacing but less integrated. If you have an appetite for a steep learning curve and a operating a completely new tool, MODO is fantastic.
  • mevalemevale Member Posts: 22
    Hey you, please create an OnShape CAD group and shows / share a model with these errors.

    Do not forget invite to me !!  8 )
  • kevin_quigleykevin_quigley Member Posts: 306 ✭✭✭
    Modo is great but it is a polygonal modeller. This is where T Splines and PowerSurfacing differ. They offer the sub d workflow but the output is Nurbs and completely compatible with any CAD system on the market.

    Modo can be made to export to nurbs formats using an add on you buy ( which is made by the guys behind PowerSurfacing) but if you have TSplines or PowerSurfacing you can import .obj files from Modo straight into SolidWorks.

    in terms of priorities for OnShape, I personally think the focus should be on the 'traditional' surfacing tools, combined with quality curves in 2D and 3D. With the foundations in place, then add the cream.
  • mevalemevale Member Posts: 22
    edited March 2015
    -
Sign In or Register to comment.