Home > User Guide > Model Management
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)))
b2will 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
- Limitations
- Example I
- Example I - Output
- Example II
- Example II - Output
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
- Embedded APIs are never journaled.
- Results from previous journals can not be used in new journals. The part is cleared and the arguments are loaded and/or defined before calling the API's scheme extension.
- Only APIs with scheme extension can be journaled.
- Some APIs are meant to be used in sequences (for example, skinning's slinterface). If journal is executed for a function within the sequence, the resulting script would lack previous information or initialization procedures.
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 CompletedExample 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 CompletedDebug 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 0CURVE 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 NULLPCURVE 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:
[Top]
© 1989-2007 Spatial Corp., a Dassault Systèmes company. All rights reserved.