220 likes | 233 Views
Learn how to create complex geometries in TracePro using ACIS commands effectively. Discover examples like Draft Spline Solid, Revolved Spline Solid, Swept Solid, and more for intricate geometry modeling.
E N D
Creating Complex Geometries Using TraceProScheme Commands Lambda Research Corporation
Create complex geometries using TracePro Scheme Commands • Not all of the geometry modeling features in ACIS are available with the TracePro GUI. • However, with ACIS commands (which are executable in TracePro), complicated geometry can be created. Below are some examples. • Draft Spline Solid • Revolved Spline Solid • Swept Solid • Filament • Grid Solid • Blend (or “Fillet”)
Create a Solid with a User-Defined Name • It is often asked how to create a solid in Scheme with a user-defined name instead of a default name such as “Object 11” • The answer is: (property:apply-name (insert:block 10 10 10) “My Object") Scheme command to create a solid
Draft Spline Solid Draft Direction
Draft Spline Solid Linear Edges Spline Edge Refer to DraftSplineEdgeExample.scm
Draft Spline Solid Draft Direction Name the object “My Object” when it is created Refer to DraftSplineEdgeExample.scm
Draft Spline Solid Changing the Draft Direction Draft Direction
Draft Spline Solid Ray Tracing Schematic (the spline surface has been defined as a reflective surface)
Revolved Spline Solid Direction of Revolution
Revolved Spline Solid Revolving Axis Revolving Angle Refer to RevolveSplineEdgeExample2.scm
Revolved Spline Solid Ray Tracing Schematic (the spline surface has been defined as reflective surface)
Swept Solid Sweeping Path (Pink Line) Base Surface
Swept Solid Define Base Surface Define Sweeping Path (Pink Line) Twist Angle Refer to Sweep_SplineCrossSection.scm
Swept Solid (twisted) Twist Angle Refer to Sweep and Twist Square Surface.scm
Filament A filament is built in the same way as a swept solid. However, since it can be used to create filament incandescent lamps or spiral-type compact fluorescent lamps, more details of how to build up this type of geometry are introduced in the next slides Sweeping Path (Pink Line) Base Surface
Filament There are various methods to build up the filament (or spiral shape). Below is one approach. Spiral axis Spiral radius Thread distance Create a circular edge (define circular_edge (edge:circular-3pt (position 1.1 0 0) (position 1 0 0.1) (position 0.9 0 0) #t)) (define helix_edge (edge:helix (position 0 0 0) (position 0 0 4) (gvector 1 0 0) 1 0.8 #t)) (property:apply-name (sweep:law circular_edge helix_edge) "Filament") (entity:delete helix_edge) Axis vector Spiral axis start point Spiral axis end point Create a spiral path Thread distance Spiral radius Sweep Delete the edge Refer to Filament2_from Edge.SCM
Filament Another approach Refer to Filament.SCM Cylinder part Create a cylinder (define cylinder1 (solid:cylinder (position 1 -1 0) (position 1 0 0) 0.1)) (define face1 (tools:face-in-body 2 cylinder1)) (define helix_edge (edge:helix (position 0 0 0) (position 0 0 4) (gvector 1 0 0) 1 0.8 #t)) (property:apply-name (sweep:law face1 helix_edge) "Filament") (entity:delete helix_edge) “2” means Surface No.3 Set the edge surface as the base surface for sweeping Create a spiral path Sweep Delete the edge
Grid Solid (file:new) (define grid (splgrid)) (define points1 (list (position000) (position010) (position020) (position100) (position111) (position120) (position200) (position2 1 0) (position220) )) (splgrid:set-point-list grid points1 3 3) ; Set the start and end tangent vector lists for u. (define vectors1 (list (gvector 0 1 0) (gvector 0 1 0) (gvector 0 1 0))) (splgrid:set-u-tanvec-list grid vectors1 #t) (define vectors1 (list (gvector 0 1 0) (gvector 0 1 0) (gvector 0 1 0))) (splgrid:set-u-tanvec-list grid vectors1 #f) ; Set the start and end tangent vector lists for v. (define vectors2 (list (gvector 1 0 0) (gvector 1 0 0) (gvector 1 0 0))) (splgrid:set-v-tanvec-list grid vectors2 #t) (define vectors2 (list (gvector 1 0 0) (gvector 1 0 0) (gvector 1 0 0))) (splgrid:set-v-tanvec-list grid vectors2 #f) (define gridface (face:spline-grid grid #t)) (property:apply-name (sweep:law gridface (gvector 0 0 2)) "My Object") u v Grid numbers Ray Tracing Refer to SplineGridSolid.scm
Grid Solid (tangent vector for u) (file:new) (define grid (splgrid)) (define points1 (list (position000) (position010) (position020) (position100) (position111) (position120) (position200) (position2 1 0) (position220) )) (splgrid:set-point-list grid points1 3 3) ; Set the start and end tangent vector lists for u. (define vectors1 (list (gvector 0 1 0) (gvector 0 1 0) (gvector 0 1 0))) (splgrid:set-u-tanvec-list grid vectors1 #t) (define vectors1 (list (gvector 0 1 0) (gvector 0 1 0) (gvector 0 1 0))) (splgrid:set-u-tanvec-list grid vectors1 #f) ; Set the start and end tangent vector lists for v. (define vectors2 (list (gvector 1 0 0) (gvector 1 0 0) (gvector 1 0 0))) (splgrid:set-v-tanvec-list grid vectors2 #t) (define vectors2 (list (gvector 1 0 0) (gvector 1 0 0) (gvector 1 0 0))) (splgrid:set-v-tanvec-list grid vectors2 #f) (define gridface (face:spline-grid grid #t)) (property:apply-name (sweep:law gridface (gvector 0 0 2)) "My Object") End tangent vector for u direction u Grid numbers v Start tangent vector for u direction Refer to SplineGridSolid.scm Note: A Boolean operation (subtract) needs to be added to the swept grid solid in order to make the bottom surface flat
Grid Solid (tangent vector for v) (file:new) (define grid (splgrid)) (define points1 (list (position000) (position010) (position020) (position100) (position111) (position120) (position200) (position2 1 0) (position220) )) (splgrid:set-point-list grid points1 3 3) ; Set the start and end tangent vector lists for u. (define vectors1 (list (gvector 0 1 0) (gvector 0 1 0) (gvector 0 1 0))) (splgrid:set-u-tanvec-list grid vectors1 #t) (define vectors1 (list (gvector 0 1 0) (gvector 0 1 0) (gvector 0 1 0))) (splgrid:set-u-tanvec-list grid vectors1 #f) ; Set the start and end tangent vector lists for v. (define vectors2 (list (gvector 1 0 0) (gvector 1 0 0) (gvector 1 0 0))) (splgrid:set-v-tanvec-list grid vectors2 #t) (define vectors2 (list (gvector 1 0 0) (gvector 1 0 0) (gvector 1 0 0))) (splgrid:set-v-tanvec-list grid vectors2 #f) (define gridface (face:spline-grid grid #t)) (property:apply-name (sweep:law gridface (gvector 0 0 2)) "My Object") Start tangent vector for v direction u Grid numbers v End tangent vector for v direction Refer to SplineGridSolid.scm Note: A Boolean operation (subtract) needs to be added to the swept grid solid in order to make the bottom surface flat
Blend (Fillet) Select the object by name (solid:blend-edges (entity:edges (entity:get-by-name "Block 1")) 1.0) (solid:blend-edges (entity:edges (pick:entity (read-event))) 1.0) (solid:blend-edges (pick:edge (read-event)) 1.0) (solid:blend-edges (entity:edges (pick:face (read-event))) 1.0) Select the object by mouse click Radius Select the edge by mouse click Select the surface by mouse click