Thickening a complex compound curved surface.



  • Buk

    Okay! So maybe, attempting to patch the error was a mistake and I should really be trying to persuade DSM to Pull Path the full surface in one go. What happens if I take those compound curves out of the equation?

    I'll try copying the edges, construct the surface and attach it back afterwards. Copy the edges, hide the surfaces, paste the edges and connect the two corners with lines:


    Damn! Because it insists on dropping into 2D whenever you select a drawing tool, when I go back to 3D it drops into Pull and fills one of the curves!. Okay, paste the egdes into a component and then activate the top level before selecting the Line tool.

    Progress. Not to try that Pull Path again



    Looking good...

    Oh fer...

  • Buk

    How about I try only selecting one edge as the path and hope that "Normal to origin tragectory" will keep things in line:

    And Full Pull;

    Hm. Better. It's added a couple of extraneous edges, but let's see if it will mate back to the two compound curves.

    Looks reasonable. And Combining them gives:

    Now to fill that end and (hopefully) get a solid...


    Damn. It worked!

  • Buk

    So now I want to put a cant on the stem that will become the handle. Split the body at an appropriate position,and then rotate the stem:

    Now I need to fill the gap (sounds familiar!). Into Pull, Select the face, Alt-select the axis, type 20° and ...

    But that's not a "Rotate" is it. It's an "Extrude straight and then chop the end off at an angle".

    Okay, try copying the face and rotating that. (You have to see this to believe it. You could not make this hits up.)

    I select the copied face; select the rotation axis, type in "20°" (which gifcam doesn't capture) and then hit enter and...

    The face just disappears!

  • Buk

    Okay. Copy both faces, connect the corners with straight lines, and use the Fill tool to construct a filler piece. It took some trial&error to work out which faces to use as guide curves to stop it wanting to straighten edges, but I got this:

    So, not join the 3 together. Unhide the other two solids, select all 3 and hit Combine, and ... Nothing happened. Into combine mode, everything deselected but still 3 separate solids!

    Okay. In Combine mode click one solid, Ctrl-click the second and:

    You got it. The second solid just vanishes!

  • Buk

    This is (far) more than just "a version 2" thing, surely?

  • Tim Heeney


    At a guess, the second solid vanishes because the 'maths crumble' and most probably, the surfaces of your constructed 'infill piece' are not compatable to be joined...

    I've said this before - take a peek at what 3D Exploration does on youtube with DSM for 'good principles' of shape modelling...


    In particular, observe the 'tactic's' for workarounds to various encountered problems.

    That's my best advice...

  • Buk


    Thanks for your reply.

    (BTW. This post made me realise that despite that I have previously chosen to 'follow' you, I do not receive email notifications of your posts (I do for Jacant's post.). Which means that I have only now discovered that you have replied (twice) to one of my posts that languished in 'Pending approval' state for over a week and which I'd stopped checking. I will respond there later today when my brain is up to it. (It's gone 1:00am.)

    With respect to the maths. This I understand. Both the math behind the operations DSM performs; and the limitations of IEEE754 64-bit floating point representation.

    As with several previous threads -- Holey solid; Magic numbers and a few others-- the way DSM handles math is (deliberately?) broken.

    Example: In a rescent thread, I discussed a problem with small numbers; namely that below a cerain (arbitrary) value, DSM refuses to construct lines. Here's the thing. If in DSM Options-units, aI specify Metric & either (centimetres or metres), then the exact same construct (x10 or x100) works exactly as one would expect. Only when the unit size is set to "millimetres" does it cause problems.

    The naive amongst my readers -- assuming there are any -- may consider that those x10 or x100 multipliers explain everything. But, 64.bit floats are accurate to 15.2 decimale digits, and the arbitrary limit kicks in at greater than 3 DP.

    That means that -- 3 DP from 15_DP -- DSM discards  or ignores differences greater that 1e3; and is thus discarding 1e12 smaller possibilities. That's 1/ 12 trillion.

  • Tim Heeney

    Hi Buk...

    this is obviously very frustrating to you.

    I'm uncertain if this confirms or discounts any of your observations / conclusions.

    i can draw in sketch mode short line min permitted 0.0001  and then change value min permitted 0.00002  or 2e-5mm and then make a colinear line opposite it max input permitted 10 000 000 or 1e7mm, it can then be dragged out to beyond 100 000 000 000.0 but becomes unrsponsive to input changes.

    in modelling 3d mode i can pull any round less than R 0.1 mm but in section mode,it can be selected and input changed to Dia 0.0001

    So i think ACIS/Spaceclaim/DSM have deliberately 'massaged' the maths to make a functional system for their 'target audience' of users...how well it works is for us users to decide - work with components with parts not containing thousands of features and performance should be acceptable - umm, 'should'.


  • Buk

    You're right. I do find it intensely frustrating. But this thread was not meant as a complaint; but rather to document the constant battle we (or maybe just I) face when trying to use it to do ostensibly trivial things.

    My hope was to draw responses of the type: "If you did that bit this way, then you wouldn't encounter that problem."

    I continue to negotiate with AMD to get my new system running properly so that I can at last move to DSM v4, which I am hoping will fix many of the problems I have with the models I want to be working on. I attached a debugger to DSM v2 and loaded one of my more complex models and found that the 32-bit V2 is just running out of memory when I perform even trivial changes to those models.

    As an ex-programmer of 40+ years, I understand that there's nothing the authors can do to alleviate the 32-bit address space limit. I'm a little disappointed that they do not have guard pages in place to allow them to detect out-of-memory/memory corruption and catch and report it and shut down gracefully rather then crashing out and throwing way user data; but honestly, its not that uncommon. Once 64-bit versions are built; maintenance of 32-bit versions tends to get put on the back burner The (pleasant) surprise is that they continue to offer a 32-bit version for download. (And did I read somewhere there is a new version of v2 on the way?)

    Anyway, I accept that my inability to use v4 is purely my problem, and that until I can move to v4, my work on the (complex) models that I want to be working on has to halt. So, in the meantime I've been trying to improve my skills with DSM by constructing models of various simple items. You've seen the corkscrew; and I recently completed a model of my 45 y/o set of Vernier calipers:

    The one area where I have most trouble with DSM -- and looking at some of the model that are created by Jacant and other using DSM I know that the limitations are mine not DSMs -- are those involving non-rectilinear components. The actual screw  on the corkscrew is a prime example. That gave me inordinate trouble to produce an accurate, reproducible and visually pleasing model.

    To that end, I looked for a simple, curvilinear object to model. Hence, as you may have recognised, the spoon. It doesn't contain a single right-angle; and would look completely crap if the model contains a bunch of extraneous edges and joins where none exist in real life. It is completely unimportant; so if v2 craps out I loose nothing of value; and it is simple enough that it ought to be possible to model it without running out of memory.

    But in my motor, there are several components -- that I've yet to model -- that are similarly non-rectilinear, that need to be modelled reasonably accurately if subsequent FEA von Mises analysis is going to yield accurate results.

    So, the spoon and this thread. I start with the bowl. A 55 x 35 ellipse with a 7.5mm depth curve guide line for Fill to produce the bowl; then scaled around the centre of curvature (rather than copied) to produce the second surface and give me the 45° edge for free. Then comes constructing that edge.


    And that brings me back to where this thread started. Looking for guidance on the best way to use DSM to produce solids/models of this nature.

  • Buk

    I forgot to mention the problem with the apparent solution represented by the last image above. Whilst the Pull Path shown constructs a seamless surface that purports to connect the edges of the two bowls, the 3 surfaces will not Combine to produce a solid.

    Despite the two guidelines, the resultant surface does not match up to those guidelines:

    Given that one of the guidelines is derived mathematically (through scaling) from the other, and the Pulled line connects them, the discrepancy between accurate alignment of the 3 surfaces at the line (and also 180°around the bowl) and the misalignment at 90° & 270° seems inexplicable; mathematically speaking.

    The upshot of problems like this, is that it takes 10 times longer to produce a model than it should, with the extra time being spent evolving workarounds to find ways to coerce DSM into producing the results it ought to produce first time.

    (You mentioned rounds earlier. How many times have you specified a particular size for a round and it has come back saying that it couldn't do it. But then you specify a smaller/bigger size and it works. And then you can edit the size back t the size that didn't work first time? Similarly, you select a edge loop and attempt a round and it fails, but if you select and round each edge in the original loop individually, you can make it work?)


  • Buk

    And here's what I mean about workarounds.

    Draw another line from the centre of scaling just inside the edges of the bowl surfaces, and then another shorter one over the top that just spans the two surfaces:

    Now use that with Pull Path and the two bowl surface edges as guidlelines (Normal on, Scale off):

    That gives 3 intersecting surfaces. Use Combine with Make Curves+Imprint as edges and intersect all 6 pairings of the 3 surfaces. (All 3 pairs of 2 both ways). Once done, you have thin slivers around both the bowls, and two regions around the Pulled surface that can be discarded:

    And that gives you 3, perfectly mating surfaces:

    that will Combine to produce a solid:

    Slightly the wrong size -- which doesn't matter for this spoon, but might for something more important. However, it is not beyond the reach my imagination to add a couple of extra  steps to the process to make the two bowls slightly oversized so that these extra steps to combine them trim them back to the required size.

    But that more extra steps; not to mention the time to do them which is completely outweighed by the time it takes to invent them!

    And that's the bit I find most frustrating. I know DSM can produce the component I am after; but sometimes it is just so hard to find the right combination of steps to do so.

  • Tim Heeney


    'I know DSM can produce the component I am after; but sometimes it is just so hard to find the right combination of steps to do so.'

    I agree...it can be hard but that is how it is with ACIS/Spaceclaim/DSM...the reason i write it that way and not just DSM is because i know of other software that uses ACIS in the cadcam world and it's very particular how to get a result!

    It's tough but you have to learn how to use DSM efficiently as there's no other way...i expect there's no way to get ACIS to change.  Users 'can' model anything - albetit with some difficulty...

    Here's a little car skin from my youtube mate...of course, done in v4.

  • Tim Heeney


    I believe it's easier/faster to get back to a new or revised sections than start slicing up and joining surfaces etc.



  • Buk

    Deleted. No point.

  • Tim Heeney


    In v4 i have done various shapes of pulled path surfaces. All sorts of planar and 3D shapes, Elipses etc and i've not noticed

    anything unexpected. I hope this might give you some confidence in v4.

    Sometimes the path fails to go around in one go. Try selecting just after where it stops as shown, or ctrl single click etc also works as a last resort which i didn't need to do.