File Formats


This section briefly describes the formats of various files created or used by ACIS.

Topics include:

SAT Save File

ACIS saves, or stores, model geometry information to ACIS save files (also known as part save files or part files). ACIS also restores model information from these files. These files have an open format so that external applications, such as those not based on ACIS, can have access to the ACIS geometric model. These applications are then able to read the pure geometric data from or write information to a saved model without negatively impacting the ACIS core routines or other external applications. An example of a non-ACIS based application that needs the geometric model information is a conversion routine from ACIS to another format, or vice versa.

There are two types of ACIS save files: Standard ACIS Text (file extension .sat) and Standard ACIS Binary (file extension .sab). The only difference between these files is that the data is stored as ASCII text in a .sat file and in binary form in a .sab file. The organization of a .sat file and a .sab file is identical; the term SAT file is generally used to refer to both types.

Scheme Journal File

A Scheme journal file (.jrl) records Scheme commands sent to the Scheme interpreter, and the printed output those commands generated. Scheme journal files have a .jrl file extension.

Recording can be turned on or off, and can be paused then resumed. Output is sent to the file specified by the journal:on or journal:append extensions:

(journal:on "new_jrl")

For example, the following Scheme commands issued to the Scheme AIDE demonstration application (prompts and application responses are shown):

(journal:on "myjournal")
()
acis> (solid:block (position 0 0 0) (position 10 10 10))
#[entity 1 1]
acis> (define b1 (solid:block (position 0 0 0)
      (position 20 20 20)))
b1
acis> (journal:off)
()
(define b2 (solid:block (position 0 0 0) (position 30 30 30)))
b2

will generate this journal file:

;; (journal:on "myjournal")
;; ()
(solid:block (position 0 0 0) (position 10 10 10))
;; #[entity 1 1]
(define b1 (solid:block (position 0 0 0) (position 20 20 20)))
;; b1
;; (journal:off)

ACIS Snapshot Journal

The ACIS Journaling capability provides features for creation of "snapshots" for supported ACIS APIs. ACIS Journaling creates both Scheme files and SAT files. The Scheme file contains script that loads SAT files and recreates the function calls. This file also defines positions, rational numbers, logicals etc. The SAT file stores the ENTITIES that were passed as input to the function calls.

Using the ACIS Journaling capability, the user can isolate the problem when a function does not perform as required. The user can run the Scheme file created as output of ACIS Journaling in steps, to narrow down the scope of error. This provides a clear view of the values or topology that have been used in the API before it performs any operation.

Journal File Name Convention

The journal files are, by default, created in the working directory. The default prefix for all of the files created (both SAT and Scheme files) is "ACISJour". The full default file name for the Scheme file is of the form ACISJour_x.scm where x denotes the next index found in the directory where the journal file is stored.  The full default file name for the SAT file is of the form ACISJour_x_y.sat where x and y are the next indices found in the directory where the journal file is stored.

If desired, the user can assign a specific name to the journal files using the appropriate API. In such a case, the Scheme file will be assigned "name.scm" while the corresponding SAT files will be assigned "name_x.sat" where x is an incremental counter starting from zero. This API also provides the ability to set the x counter. For example, when the user specifies a name, "myname" and an index of 0, the Scheme file is named myname.scm and it's corresponding SAT files are named myname_0.sat, myname_1.sat, myname_2.sat and so on.  The next time when these files are created, the Scheme file is overwritten and the counter starts from zero for SAT files (hence, they are overwritten as well).

Limitations

Example I

The following example illustrates the use of the snapshot journal. The AcisOptions object is created and the name JOURNAL_3D is assigned. The AcisOptions object is passed into every API (remember that this object also contains the version information). The journal is inactive until api_start_journal is called. The function produces scripts only after the journal is enabled. The journal operation can be paused, resumed or ended.

This example generates JOURNAL_3D.scm and five SAT files - JOURNAL_3D_0.sat, JOURNAL_3D_1.sat, JOURNAL_3D_2.sat, JOURNAL_3D_3.sat, JOURNAL_3D_4.sat. JOURNAL_3D.scm contains the snapshots of five API calls. The options set in the scheme file might vary depending on the state of ACIS.


BODY* profile       = NULL; 
BODY* path          = NULL; 
BODY* new_body      = NULL; 
AcisOptions*   acis_options   = NULL; 
 acis_options = ACIS_NEW AcisOptions(); 
api_set_journal_name(acis_options,"JOURNAL_3D");
api_start_journal(acis_options); 
    sweep_options swopts;
    // Create a profile 
    position profile_vertice[5];  
    profile_vertice[0] = SPAposition(1, -0.2, -0.2);  
    profile_vertice[1] = SPAposition(1, -0.2,  0.2);  
    profile_vertice[2] = SPAposition(1,  0.2,  0.2);  
    profile_vertice[3] = SPAposition(1,  0.2, -0.2);  
    profile_vertice[4] = SPAposition(1, -0.2, -0.2);  
    api_make_wire(NULL,5,profile_vertice,profile);  
    // Create a path  
    // This algorithm can be done easier,  
    // but for illustrating the boolean operations 
    EDGE* profile_edge[4];  
    api_mk_ed_line(SPAposition(0,0,0), SPAposition(1,0,0),
             profile_edge[0]);  
    api_mk_ed_line(SPAposition(0,0,0), SPAposition(0,2,0),
             profile_edge[1]);  
    api_mk_ed_line(SPAposition(0,2,0), SPAposition(1,2,0),
             profile_edge[2]);  
    api_mk_ed_ellipse(SPAposition(1,1,0), SPAunit_vector(0,0,1),
             SPAvector(0,-1,0), 1.0, 0.0,M_PI,profile_edge[3]);  
    BODY* e1 = NULL;  
    BODY* e2 = NULL;  
    BODY* e3 = NULL;  
    api_make_ewire(1,&profile_edge[0], path);  
    api_make_ewire(1,&profile_edge[1], e1);  
    api_make_ewire(1,&profile_edge[2], e2);  
    api_make_ewire(1,&profile_edge[3], e3);  
    api_unite(e1, path, acis_options); 
     api_pause_journal(acis_options); 
    api_unite(e2, path, acis_options);  
    api_resume_journal(acis_options); 
    api_unite(e3, path, acis_options);  
    api_sweep_with_options(profile,path,&swopts,new_body, acis_options);
    BODY* d2 = NULL;  
    BODY* d3 = NULL;  
    api_copy_entity(profile, (ENTITY*&)d2);  
    api_copy_entity(profile, (ENTITY*&)d3);  
    api_transform_entity(d2,rotate_transf(-M_PI/2,SPAvector(1,0,0)));  
    api_transform_entity(d2,rotate_transf(-M_PI/2,SPAvector(0,0,1)));  
    api_transform_entity(d2,translate_transf(SPAvector(0,0,2)));  
    api_transform_entity(d3,rotate_transf(M_PI/2,SPAvector(0,1,0)));  
    api_transform_entity(d3,rotate_transf(M_PI/2,SPAvector(0,0,1)));
    api_unite(d2, profile, acis_options);  
    api_unite(d3, profile, acis_options);  
    api_end_journal(acis_options);  
    ACIS_DELETE acis_options;
  

Example I - Output

;<<<< ACIS Journal Copyright (c) by Spatial Corp.>>>>>
(view:delete)
(view:gl 0 0 500 500)
(view:edges #t)
(view:polygonoffset #t)
(view:vertices #t)
(option:set "match_paren" #f)

;+-----------------  api_bool - unite ---------------+
; --------------------------------------------------
; Options not set to default value
(option:set "black_box" "one")
(option:set "breakup_debug_file" "e:/Debug/breakup_messages.txt")
(option:set "cap_pref#erence" "old")
(option:set "catia_save_author" "")
(option:set "catia_save_model_name" "")
(option:set "cell_granularity" "manifold")
(option:set "d3_d#ata_dir" "data/")
(option:set "face_norm#als" #t)
(option:set "iges_dbt_file" "iges_04.dbt")
(option:set "intcurve_save_approx_level" "optimal")
(option:set "interrupt_action" "normal")
(option:set "match_paren" #f)
(option:set "miter_type" "new")
(option:set "mmgrfile" "mmgr.log")
(option:set "old_bs3_curve_debug" #f)
(option:set "restore_locale" "C")
(option:set "sketch_mesh" "face")
(option:set "sketch_tcoedge" "nominal")
(option:set "spline_save_approx_level" "optimal")
(option:set "ssi_files" "")
(option:set "stp_tool_path" "$A3DT/step/tools/nt")
(option:set "subset#ting" "spline")
(option:set "validate_lop" "validate_and_lop")
; Note: remember that some options may be already
; set in previous snapshots

; --------------------------------------------------
(part:clear)
(part:load "JOURNAL_3D_0.sat")
(define tool (list-ref (part:entities) 0))
(entity:set-color tool 1)
(define blank (list-ref (part:entities) 1))
(entity:set-color blank 3)
(define boolBody (bool:unite blank tool ))
(iso)
(zoom-all)

;+-----------------  api_bool - unite ---------------+
; --------------------------------------------------
; Options not set to default value
(option:set "black_box" "one")
(option:set "breakup_debug_file" "e:/Debug/breakup_messages.txt")
(option:set "cap_pref#erence" "old")
(option:set "catia_save_author" "")
(option:set "catia_save_model_name" "")
(option:set "cell_granularity" "manifold")
(option:set "d3_d#ata_dir" "data/")
(option:set "face_norm#als" #t)
(option:set "iges_dbt_file" "iges_04.dbt")
(option:set "intcurve_save_approx_level" "optimal")
(option:set "interrupt_action" "normal")
(option:set "match_paren" #f)
(option:set "miter_type" "new")
(option:set "mmgrfile" "mmgr.log")
(option:set "old_bs3_curve_debug" #f)
(option:set "restore_locale" "C")
(option:set "sketch_mesh" "face")
(option:set "sketch_tcoedge" "nominal")
(option:set "spline_save_approx_level" "optimal")
(option:set "ssi_files" "")
(option:set "stp_tool_path" "$A3DT/step/tools/nt")
(option:set "subset#ting" "spline")
(option:set "validate_lop" "validate_and_lop")
; Note: remember that some options may be already
; set in previous snapshots

; --------------------------------------------------
(part:clear)
(part:load "JOURNAL_3D_1.sat")
(define tool (list-ref (part:entities) 0))
(entity:set-color tool 1)
(define blank (list-ref (part:entities) 1))
(entity:set-color blank 3)
(define boolBody (bool:unite blank tool ))
(iso)
(zoom-all)

;+-----  api_sweep_with_options - along a path ------+
; --------------------------------------------------
; Options not set to default value
(option:set "black_box" "one")
(option:set "breakup_debug_file" "e:/Debug/breakup_messages.txt")
(option:set "cap_pref#erence" "old")
(option:set "catia_save_author" "")
(option:set "catia_save_model_name" "")
(option:set "cell_granularity" "manifold")
(option:set "d3_d#ata_dir" "data/")
(option:set "face_norm#als" #t)
(option:set "iges_dbt_file" "iges_04.dbt")
(option:set "intcurve_save_approx_level" "optimal")
(option:set "interrupt_action" "normal")
(option:set "match_paren" #f)
(option:set "miter_type" "new")
(option:set "mmgrfile" "mmgr.log")
(option:set "old_bs3_curve_debug" #f)
(option:set "restore_locale" "C")
(option:set "sketch_mesh" "face")
(option:set "sketch_tcoedge" "nominal")
(option:set "spline_save_approx_level" "optimal")
(option:set "ssi_files" "")
(option:set "stp_tool_path" "$A3DT/step/tools/nt")
(option:set "subset#ting" "spline")
(option:set "validate_lop" "validate_and_lop")
; Note: remember that some options may be already
; set in previous snapshots

; --------------------------------------------------
(part:clear)
(part:load "JOURNAL_3D_2.sat")
(define profile (list-ref (part:entities) 0))
(entity:set-color profile 1)
(entity:check profile)
(define path (list-ref (part:entities) 1))
(entity:set-color path 3)
(entity:check path)
(define options (sweep:options))
(zoom-all)
(define sweep (sweep:law profile path options))
(entity:check sweep)
(iso)
(zoom-all)

;+-----------------  api_bool - unite ---------------+
; --------------------------------------------------
; Options not set to default value
(option:set "black_box" "one")
(option:set "breakup_debug_file" "e:/Debug/breakup_messages.txt")
(option:set "cap_pref#erence" "old")
(option:set "catia_save_author" "")
(option:set "catia_save_model_name" "")
(option:set "cell_granularity" "manifold")
(option:set "d3_d#ata_dir" "data/")
(option:set "face_norm#als" #t)
(option:set "iges_dbt_file" "iges_04.dbt")
(option:set "intcurve_save_approx_level" "optimal")
(option:set "interrupt_action" "normal")
(option:set "match_paren" #f)
(option:set "miter_type" "new")
(option:set "mmgrfile" "mmgr.log")
(option:set "old_bs3_curve_debug" #f)
(option:set "restore_locale" "C")
(option:set "sketch_mesh" "face")
(option:set "sketch_tcoedge" "nominal")
(option:set "spline_save_approx_level" "optimal")
(option:set "ssi_files" "")
(option:set "stp_tool_path" "$A3DT/step/tools/nt")
(option:set "subset#ting" "spline")
(option:set "validate_lop" "validate_and_lop")
; Note: remember that some options may be already
; set in previous snapshots

; --------------------------------------------------
(part:clear)
(part:load "JOURNAL_3D_3.sat")
(define tool (list-ref (part:entities) 0))
(entity:set-color tool 1)
(define blank (list-ref (part:entities) 1))
(entity:set-color blank 3)
(define boolBody (bool:unite blank tool ))
(iso)
(zoom-all)

;+-----------------  api_bool - unite ---------------+
; --------------------------------------------------
; Options not set to default value
(option:set "black_box" "one")
(option:set "breakup_debug_file" "e:/Debug/breakup_messages.txt")
(option:set "cap_pref#erence" "old")
(option:set "catia_save_author" "")
(option:set "catia_save_model_name" "")
(option:set "cell_granularity" "manifold")
(option:set "d3_d#ata_dir" "data/")
(option:set "face_norm#als" #t)
(option:set "iges_dbt_file" "iges_04.dbt")
(option:set "intcurve_save_approx_level" "optimal")
(option:set "interrupt_action" "normal")
(option:set "match_paren" #f)
(option:set "miter_type" "new")
(option:set "mmgrfile" "mmgr.log")
(option:set "old_bs3_curve_debug" #f)
(option:set "restore_locale" "C")
(option:set "sketch_mesh" "face")
(option:set "sketch_tcoedge" "nominal")
(option:set "spline_save_approx_level" "optimal")
(option:set "ssi_files" "")
(option:set "stp_tool_path" "$A3DT/step/tools/nt")
(option:set "subset#ting" "spline")
(option:set "validate_lop" "validate_and_lop")
; Note: remember that some options may be already
; set in previous snapshots

; --------------------------------------------------
(part:clear)
(part:load "JOURNAL_3D_4.sat")
(define tool (list-ref (part:entities) 0))
(entity:set-color tool 1)
(define blank (list-ref (part:entities) 1))
(entity:set-color blank 3)
(define boolBody (bool:unite blank tool ))
(iso)
(zoom-all)
;<<<< ACIS Journal Completed 

Example II

The following example illustrates a journaling operation through Scheme extensions. In this example, the snapshot journal for a boolean and a blending operation is created from a Scheme script using the ACIS Journal and ACIS Option Scheme extensions.

(define j1 (acis_journal:set "file" "journal_bend3"))
(define ao (acisoptions:set "journal" j1))
(acis_journal:start ao)
(part:clear)
(define block1 (solid:block (position 0 0 0)(position 20 5 1)))
(bool:subtract block1 (solid:block (position 0 1 0)
	(position 20 4 1)) ao)
(solid:unite block1 (solid:cylinder (position 20 -4 .5)
	(position 20 8 .5) .6))
(bool:unite block1 (solid:block (position 11 0 0)
	(position 12 5 1)))
(bool:unite block1 (solid:block (position -2 -5 1)
	(position 6 10 3)))

(define block2 (solid:block (position 6 1 -8)(position 7 4 12)))
(bool:subtract block2 (solid:block (position 6 2 -8)
	(position 7 3 12)))
(solid:unite block2 (solid:cylinder (position 6.5 -4 -8)
	(position 6.5 8 -8) .6))
(solid:unite block2 (solid:block (position 4 -4 8)
	(position 6 9 16)))

(define wheel1 (bool:unite (solid:cylinder (position 0 0 0)
	(position 0 1 0) 1) (solid:cylinder (position 0 .5 0)
	(position 0 .5 2) .25)))
(define wheel2 (entity:copy wheel1))
(define wheel3 (entity:copy wheel1))
(define wheel4 (entity:copy wheel1))
(entity:rotate wheel3 0 1 0 -90)
(entity:rotate wheel4 0 1 0 -90)
(entity:move wheel1 20 -3 -2)
(bool:unite block1 wheel1)
(entity:move wheel2 20 7 -2)
(bool:unite block1 wheel2)
(entity:move wheel3 8.5 -4 -8)
(bool:unite block2 wheel3)
(entity:move wheel4 8.5 8 -8)
(bool:unite block2 wheel4)

(define root (position 12 0 0 ))
(define axis (gvector 0 1 0))
(define direction (gvector 0 0 1))
(entity:bend block1 root axis direction -1 60 8 ao)

(define root2 (position 7 1 -3))
(define axis2 (gvector 0 1 0))
(define direction2 (gvector 1 0 0))
(entity:bend block2 root2 axis2 direction2 -1 -60 5)

(define root3 (position 6 1 4))
(define axis3 (gvector 0 1 0))
(define direction3 (gvector -1 0 0))
(entity:bend block2 root3 axis3 direction3 -1 -60 4)

(bool:unite block1 block2)

(acis_journal:end ao) 

Example II - Output

;<<<< ACIS Journal Copyright (c) by Spatial Corp.>>>>>
(view:delete)
(view:gl 0 0 500 500)
(view:edges #t)
(view:polygonoffset #t)
(view:vertices #t)
(option:set "match_paren" #f)

;+--------------  api_bool - subtract ---------------+
; --------------------------------------------------
; Options not set to default value
(option:set "black_box" "one")
(option:set "breakup_debug_file" "e:/Debug/breakup_messages.txt")
(option:set "cap_pref#erence" "old")
(option:set "catia_save_author" "")
(option:set "catia_save_model_name" "")
(option:set "cell_granularity" "manifold")
(option:set "d3_d#ata_dir" "data/")
(option:set "face_norm#als" #t)
(option:set "iges_dbt_file" "iges_04.dbt")
(option:set "intcurve_save_approx_level" "optimal")
(option:set "interrupt_action" "normal")
(option:set "match_paren" #f)
(option:set "miter_type" "new")
(option:set "mmgrfile" "mmgr.log")
(option:set "old_bs3_curve_debug" #f)
(option:set "restore_locale" "C")
(option:set "sketch_mesh" "face")
(option:set "sketch_tcoedge" "nominal")
(option:set "spline_save_approx_level" "optimal")
(option:set "ssi_files" "")
(option:set "stp_tool_path" "$A3DT/step/tools/nt")
(option:set "subset#ting" "spline")
(option:set "validate_lop" "validate_and_lop")
; Note: remember that some options may be already
; set in previous snapshots

; --------------------------------------------------
(part:clear)
(part:load "journal_bend3_0.sat")
(define tool (list-ref (part:entities) 0))
(entity:set-color tool 1)
(define blank (list-ref (part:entities) 1))
(entity:set-color blank 3)
(define boolBody (bool:subtract blank tool ))
(iso)
(zoom-all)

;+-----------------  api_bend_entity ---------------+
; --------------------------------------------------
(part:clear)
(part:load "journal_bend3_1.sat")
(define in_body (list-ref (part:entities) 0))
(define neutral_root (position 12.000000 0.000000 0.000000))
(define neutral_axis (gvector 0.000000 1.000000 0.000000))
(define bend_direction (gvector 0.000000 0.000000 1.000000))
(define radius -1.000000)
(define angle 60.000000)
(define width 8.000000)
(define center_bend #f)
(define bent_body (entity:bend in_body neutral_root neutral_axis bend_direction radius angle width center_bend ))
(iso)
(zoom-all)
;<<<< ACIS Journal Completed 

Debug File

A debug file (.dbg) contains a breakdown of an entity's topology and geometry in ASCII format, suitable for debugging purposes.

The debug file consists of a series of lists and a summary. Each list shows all the entity's instances of a particular topology or geometry. For more information on each type of geometry and topology, refer to the sections Geometry and Model Topology.

In the following topology and geometry format examples, only one entry for each type of list is shown. Complex entities may have many entries for each list.

Creating a Debug File

A debug file is produced with the following calls:

FILE *fp = fopen("block.dbg","w");  // name of output file
debug_entity(b1,fp);                // entity to be analyzed
fclose(fp);

Topology Formats

This section shows the topology debug formats.

BODY List

The BODY list shows each topology of the type BODY:

========================================== BODY LIST ====================================================
body 0 35176:

Rollback pointer 16152
Attribute list NULL
Lump list lump 0 33152
Wire list NULL
Transform NULL
Bounding box NULL

WIRE List

The WIRE list shows each topology of the type WIRE:

============================================ WIRE LIST ==================================================
wire 0 87360:

Rollback pointer NULL
Attribute list NULL
Owning body body 0 91416
Next wire NULL
Start coedge coedge 0 85328
Bounding box NULL

LUMP List

The LUMP list shows each topology of the type LUMP:

============================================== LUMP LIST ================================================
lump 0 33152:

Rollback pointer 16136
Attribute list NULL
Owning body body 0 35176
Next lump NULL
Shell list shell 0 31128
Bounding box NULL

SHELL List

The SHELL list shows each topology of the type SHELL:

============================================ SHELL LIST =================================================
shell 0 31128:

Rollback pointer 16120
Attribute list NULL
Owning lump lump 0 33152
Next shell NULL
Subshell list NULL
Face list face 0 29316
Bounding box NULL

FACE List

The FACE list shows each topology of the type FACE:

============================================ FACE LIST ==================================================
face 0 29316:

Rollback pointer 16104
Attribute list NULL
Owning shell shell 0 31128
Parent subshell NULL
Next face face 1 29272
Loop list loop 0 25208
Surface geometry plane 0 27632
Sense forward
Bounding box NULL

LOOP List

The LOOP list shows each topology of the type LOOP:

========================================== LOOP LIST ===================================================
loop 0 25208:

Rollback pointer 16072
Attribute list NULL
Owning face face 0 29316
Next loop NULL
Start coedge coedge 0 23896
Bounding box NULL

COEDGE List

The COEDGE list shows each topology of the type COEDGE:

=========================================== COEDGE LIST ================================================
coedge 0 23896:

Rollback pointer 16008
Attribute list NULL
Owning entity loop 0 25208
Partner coedge 6 23148
Previous coedge coedge 7 24028
Next coedge coedge 8 23940
Edge edge 0 20984
Sense forward
Parametric form NULL

EDGE List

The EDGE list shows each topology of the type EDGE:

============================================== EDGE LIST ===============================================
edge 0 20984:

Rollback pointer 15080
Attribute list NULL
Coedge pointer coedge 6 23148
Start vertex vertex 0 16848
Start parameter -5
End vertex vertex 1 16896
End parameter 5
Curve geometry straight 0 18952
Sense forward
Bounding box NULL

VERTEX List

The VERTEX list shows each topology of the type VERTEX:

============================================== VERTEX LIST ==============================================
vertex 0 16848:

Rollback pointer 14824
Attribute list NULL
Edge pointer edge 0 20984
Point geometry point 0 12784

Geometry Debug Formats

This section shows the geometry debug formats.

SURFACE List

The SURFACE list shows each type: CONE, PLANE, SPHERE, TORUS, and SPLINE:

============================================== SURFACE LIST ============================================
cone 0 227456:

Rollback pointer NULL
Attribute list NULL
Use count 1
Surface type cone
Root point 0, 0, 0
Direction 0, 0, 1
Major axis 25, 0, 0
Radius ratio 0.4
Angle ratios 0, 1

plane 0 27632:

Rollback pointer 16088
Attribute list NULL
Use count 1
Surface type plane
Root point 0, 0, 5
Normal 0, 0, 1

sphere 0 125176:

Rollback pointer NULL
Attribute list NULL
Use count 1
Surface type sphere
Centre 0, 0, 0
Radius 10

torus 0 229440:

Rollback pointer NULL
Attribute list NULL
Use count 1
Surface type torus
Centre 0, 0, 0
Normal 0, 0, 1
Major radius 60
Minor radius 20

spline 0 149888:

Rollback pointer NULL
Attribute list NULL
Use count 1
Surface type splined surface
exact spline
3D B-spline surface
  open in u direction, degree 3, 5 control points
  open in v direction, degree 3, 5 control points
  u = 0
  (-50, -50, 25), 0
  (-50, -38.214886980224, 36.785113019776), 50
  (-50, 0, 13.214886980224), 100
  (-50, 38.214886980224, 36.785113019776), 100
  (-50, 50, 25), 100
  u = 50
  (-38.214886980224, -50, 36.785113019776), 0
  (-38.214886980224, -38.214886980224,
44.64185503296), 50
  (-38.214886980224, 0, 15.17907248352), 100
  (-38.214886980224, 38.214886980224, 25), 100
  (-38.214886980224, 50, 13.214886980224), 100
  u = 100
  (0, -50, 25), 0
  (0, -38.214886980224, 38.749298523072), 50
  (0, 0, 25), 100
  (0, 38.214886980224, 34.82092751648), 100
  (0, 50, 36.785113019776), 100
  u = 100
  (38.214886980224, -50, 13.214886980224), 0
  (38.214886980224, -38.214886980224, 25), 50
  (38.214886980224, 0, 11.250701476928), 100
  (38.214886980224, 38.214886980224,
5.3581449670403), 100
  (38.214886980224, 50, 13.214886980224), 100
  u = 100
  (50, -50, 25), 0
  (50, -38.214886980224, 36.785113019776), 50
  (50, 0, 25), 100
  (50, 38.214886980224, 13.214886980224), 100
  (50, 50, 25), 100
: fit tolerance 0

CURVE List

The CURVE list shows each geometry of the types: STRAIGHT, ELLIPSE, and INTCURVE:

=============================================== CURVE LIST ===============================================
straight 0 18952:

Rollback pointer 15064
Attribute list NULL
Use count 1
Curve type straight
Root point 5, 0, 5
Direction 0, 1, 0

ellipse 0 127224:

Rollback pointer NULL
Attribute list NULL
Use count 1
Curve type ellipse
Centre 0, 0, 0
Normal -1, 0, 0
Major axis 0, 100, 0
Ratio of axes 0.5

intcurve 0 151912:

Rollback pointer NULL
Attribute list NULL
Use count 2
Curve type interpolated curve:
exact spline
open B-spline of degree 3
  5 control points:
     (50, -50, 25), 0
     (50, -38.214886980224, 36.785113019776), 50
   :     (50, 0, 25), 100
     (50, 38.214886980224, 13.214886980224), 100
     (50, 50, 25), 100
fit tolerance 0
surfaces:
  exact sur-spline
and
     plane
pcurve1 121704
pcurve2 NULL

PCURVE List

The PCURVE list shows each parameter space geometry of the type PCURVE:

============================================ PCURVE LIST ===============================================
pcurve 2 154800:

Rollback pointer NULL
Attribute list NULL
Use count 1
Privately owned parameter-space curve:
explicit
open B-spline of degree 1 (straight)
  2 control points:
     (1.0000000003174e-05, 11.785123019776), -25
     (1.0000000003174e-05, 61.785123019776), 25
fit tolerance 0
surface:
  exact sur-spline
offset by (0, 0)

POINT List

The point list shows each geometry of type POINT:

============================================== POINT LIST ===============================================
point 0 12784:

Rollback pointer 14808
Attribute list NULL
Use count 1
Coordinates 5, -5, 5

Summary of Lists

Shows the number of each type of topology and geometry, and the memory occupied:

1 body record 32 bytes
1 lump record 32 bytes
1 shell record 36 bytes
6 face records 164 bytes
6 loop records 192 bytes
6 surface records 672 bytes
24 coedge records 1056 bytes
12 edge records 528 bytes
8 vertex records 192 bytes
12 curve records 1056 bytes
8 point records 384 bytes

Total storage 4444 bytes


Related topics:

Save and Restore

[Top]