我们知道可以通过一些技巧将球体、块状、角锥体、圆锥体以及圆环等改变成更普遍的形状。但有些并不是那么容易办到的,今天将给大家展示如何将球体转化为椭球,即通过3D ACIS将球体进行非均匀的缩放来转化成椭球。
可参考以下方案
(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)
若C++,可参照以下代码
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 ) );
可以将这样的逻辑用于其他3D或表面分析中。
3D ACIS Modeling产品详情及下载evget.com/product/2157