Skip to content

Create an Ellipsoid in 3D ACIS

ADMIN | 28-04-2015

How to create a well behaved ellipsoid, convert a sphere to a spline and perform non-uniform scaling.

Hexagon pattern 1

How To Create an Ellipsoid using 3D ACIS

The 3D analytics supported directly in 3D ACIS include: sphere, block, pyramid, cone, and torus. These shapes can be changed to more generalized shapes using simple tricks that may not be known by everyone. For instance, to create a well behaved ellipsoid, convert a sphere to a spline and perform non-uniform scaling on it, as shown by the following Scheme script:

(define ellipsoid (lambda (r1 r2 r3)

(define x (solid:sphere 0 0 0 1 ) )
(define saved_new_periodic_splitting (option:set 'new_periodic_splitting 3 ) )
    (define ellipsoid (entity:spline-convert x))
    (entity:delete x)
    (entity:scale ellipsoid r1 r2 r3)
    (option:set 'new_periodic_splitting saved_new_periodic_splitting )
    ellipsoid
))
(ellipsoid 0.2 0.3 0.4)

In C++, you would perform something like the following:

BODY* ellipsoid = 0;
outcome result;
check_outcome( result = api_set_int_option( "new_periodic_splitting", 3 ) );
check_outcome( result = api_solid_sphere( SPAposition( 0, 0, 0 ), 1, ellipsoid ) );
check_outcome( result = api_transform_entity( ellipsoid, scale_transf( radius_x, radius_y, radius_z ) ) );
check_outcome( result = api_change_body_trans( ellipsoid, NULL ) );

The same logic can be applied to the other 3D analytics, as well as other surfaces.

You might also like...

c138_2_cropped
3 Min read
3D ACIS
We often focus the success of new partners, showcasing how Spatial helped with bringing a new product to market. But...
Large Tolerant  Vertex
3 Min read
3D Software Development Kits
boolean operation Boolean operations on individual bodies are common functions in 3D modeling. While simple in concept,...
3 Min read
3D Software Development Kits
In much the same way as physical design has moved from paper 2D drawings to 3D models in software, so has analysis....
4 Min read
3D InterOp
Part and parcel with model-based engineering is model translation. Because the model is now the specification, accurate...
4 Min read
3D ACIS
We are moving things around in the office here at Spatial to accommodate some new people. As a result, our marketing...
2 Min read
3D ACIS
This article shares a simple architecture which can be used to capture meta-data about the use of ACIS APIs in your...
1 Min read
3D ACIS
How To Create an Ellipsoid using 3D ACIS The 3D analytics supported directly in 3D ACIS include: sphere, block,...
2 Min read
3D ACIS
Basically, there are two priorities when using a software component, particularly a 3D modeling kernel: Does it do what...
1 Min read
3D ACIS
A geometry kernel is a big thing. It’s a huge thing. Maybe even big enough to see from space. By most accounts, even...
1 Min read
3D ACIS
My comrades and I did a performance analysis of Intel’s Hyper Threading Technology (HTT), using thread-safe ACIS and...
3 Min read
3D ACIS
In earlier posts I’ve written a lot about the various approaches to multiprocessing and the potential benefits. What I...
2 Min read
3D ACIS
The challenges of a major software release are not unique to Spatial. And like other organizations, the launch process...
5 Min read
3D ACIS
We’ve known for a long time that the integrity of B-rep data plays a major role in the success of downstream modeling...
3 Min read
3D ACIS
Answer: when it’s a 'HappyPathPoint'.
1 Min read
3D ACIS
To finish up this series of posts; what Gregg's post described happened a few years ago. Since that first team room,...
4 Min read
3D ACIS
This post will discuss two aspects of my favorite programming language, C++:
2 Min read
3D ACIS
Way back in the Dark Ages of the mid-90s, I used to read a newsgroup called comp.lang.c++. You can tell this was the...
7 Min read
3D ACIS
Here’s a subject to which everyone can relate in one way or another: growable arrays. An array is a contiguous memory...