Arbitrary law-based curve and surface modeling. Part 2

by - 21:39

(Continuation of part1)
 Same approach works for surfaces. In this case GeomConvert_ApproxSurface and Adaptor3d_Surface classes should be used in exact same manner.

Below are a few examples of creating law surfaces.

The first case is an example of creating a variable offset surface, where a surface is defined as follows:
S(u,v) = B(u,v) + Offset(u,v) * N (u,v), where
B(u,v) is a basis surface,
N (u,v) is a unit normal to the basis surface,
Offset (u,v) is a function C + u ^ 2 + v ^ 2, where C is constant.

The two below examples apply such offset laws to plane and sphere respectively. The basis surface B is in red, and the resulting surface S – in green.





The other example below demonstrates surface warping, where a planar face is twisted along one of its directions:



Enjoy! :-)
Roman

You May Also Like

2 comments

  1. Hello Roman,

    Thank you for sharing your technical blog! When I first started exploring OpenCascade, I learned a lot from your articles on topology, geometry, and surfaces — that knowledge was really helpful for my own project development. By the way, my own focus is on energy-based single-surface hole-filling algorithms.

    Right now, I’m working on my first demo of a design software for the manufacturing industry. Some of my potential customers expect me to support .x_t as both input and output. Unfortunately, I can’t build such a conversion module on my own.

    I remembered that in one of your blog replies, you mentioned that your team has a data conversion module, so I looked up your company and contacted sales. However, I was told that new purchases of CAD Exchanger SDK/Lab are currently suspended due to internal strategy reviews, and only renewals are being processed.

    Since this feature is critical for me, I just wanted to ask if there’s any chance of either getting a trial license or purchasing the SDK even under a special arrangement. CAD Exchanger seems like the most suitable solution, and I would prefer to rely on your software rather than trying to reinvent this part myself.

    Thanks again for all the valuable knowledge you’ve shared over the years — it has already helped me a lot. And if my message here causes any inconvenience, please accept my apologies.

    Best regards,
    Dean

    ReplyDelete
  2. Hi Dean, please rich out to me via LinkedIn or personal email. Thanks

    ReplyDelete