ACIS
De Viquip??dia
Per a altres significats, vegeu ??Acis (desambiguaci??)??. |
Desenvolupador | Spatial Corp |
---|---|
??ltima versi?? | Versi?? R18 (Novembre de 2007) |
Sistema operatiu | Windows 2000 (i superior), AIX (IBM), Solaris (Sun Microsystems, HP-UX (Hewlett-Packard), Mac OS X (Apple Computer) i Linux (RedHat) |
Tipus | Modelador 3D |
Llic??ncia | Programari privatiu |
P??gina web | www.spatial.com |
El modelador ACIS ??s un nucli geom??tric de modelatge tridimensional en el camp de la computaci??, propietat de Spatial Corp. ACIS ??s utilitzat per varis sistemes de Disseny assistit per ordinador (o en angl??s CAD), Fabricaci?? assistida per ordinador (CAM), CAE, AEC, CMM, Animaci?? en 3D i fabricaci?? de vaixells. ACIS proveeix la funcionalitat necess??ria per modelar en 3D.
ACIS posseeix una arquitectura oberta, i orientada a objectes, en llenguatge C++, la qual cosa li permet tenir capacitats de modelatge de s??lids m??s robustes. Amb ACIS es poden construir aplicacions amb caracter??stiques mixtes, doncs integra modelatge de diferents tipus: Superf??cie, filferro i modelatge de s??lids de topologia amb i sense varietat, a m??s d'una gran col???lecci?? d'operacions geom??triques.
Taula de continguts |
[edita] Arquitectura
[edita] Plataformes disponibles i Sistemes Operatius
Plataforma | Sistema Operatiu | Compilador | 32-bit | 64-bit |
---|---|---|---|---|
Microsoft?? | Windows XP Professional SP2 | Visual C++ .NET 2005 | X | |
Microsoft?? | Windows 2000 SP4 | Visual C++ .NET 2003 | X | |
Microsoft?? | Windows Server 2003 | Visual C++ 6.0 SP5 | X | |
Microsoft?? | Windows XP Professional x64 Edition | Platform SDK for Windows Server February 2003 Version 13.10.2240.8 | X | |
Red Hat?? | Enterprise Linux, Version 3 | GNU C++ gcc 3.2.3 | X | X |
Apple?? | OS X 10.4 (Native BSD) | GNU C++ gcc 4.0 and XCode 2.3 | X | |
IBM?? | AIX?? Version 5.1 | VisualAge?? C++ Version 6.0 | X | X |
HP | HP-UX 11.0 | HP aC++ Version A.03.52 | X | X |
SunTM | SolarisTM 8&9 | Sun ONETM Studio 8 | X | X |
[edita] Funcionalitat
[edita] Modelador ACIS
La distribuci?? central de ACIS pot dividir-se en tres categories:
[edita] Modelatge de s??lids
- Extrusions/Revolucions/Model d'escombrat de conjunts de corbes en 2D per crear superf??cies complexes o s??lids.
- Ajust de superf??cies a conjunts de corbes.
- Generaci?? de patrons de formes repetides.
- S??lids foradats i gruix de superf??cies.
- Doblegat interactiu, tor??ats, estiraments i deformacions de corbes, superf??cies i s??lids.
- Operacions Booleanes d'intersecci??/uni??/diferencia de qualsevol combinaci?? de corbes, superf??cies i/o s??lids.
[edita] Gesti?? de modelatge de s??lids
- ??s possible adjuntar dades definides per el usuari a qualsevol nivell d'un model.
- Rastrejar canvis de geometria i topologia.
- Modelatge de sub-regions d'un s??lid per mitj?? de topologia cel???lular.
- Maneig d'hist??ria de construcci?? de model de manera independent amb capacitat de refer/desfer canvis.
[edita] Visualitzaci?? de models s??lids
[edita] Modelador ACIS amb extensions
- Modelatge de s??lids deformables.
- Cobertura avan??ada.
- Descomposici?? de caracter??stiques.
- Remoci?? de l??nees ocultes (tecnologia 3D PHL V5), basada en tecnologia CATIA V5.
[edita] Interacci?? amb ACIS
Existeixen dues maneres directes d'interactuar amb ACIS. La primera ??s per mitj?? del conjunt d'APIs invocades a trav??s dels components de software requerits.
[edita] Interf??cie en C++ ( API )
void main () { // Inicialitzar motor geom??tric outcome res = api_start_modeller(0); res = api_initialize_kernel (); check_outcome (res); BODY *lingote, *htta, // // Crear pe??a base SPAposition cantonada_inf = SPAposition (0.0, 0,0, 0.0); SPAposition cantonada_sup = SPAposition (20.0, 20.0,10.0); res = api_solid_block(cantonada_inf, cantonada_sup, lingote); check_outcome(res); // // Crear pe??a d'operaci?? SPAposition p_inf = SPAposition(10.0, 10.0, 5.0); SPAposition p_sup = SPAposition(10.0, 10.0, 15.0); double rad_menor = 5.0, rad_mayor = 5.0, rad_sup = 5.0; res = api_solid_cylinder_cone(p_inf, p_sup, rad_menor, rad_mayor, rad_sup, NULL, htta); check_outcome(res); // // Realizar operaci?? Booleana d'uni?? res = api_boolean(lingote, htta, UNION); // if (!res.ok()){ cout << "Operaci?? no exitosa" << endl; } else { // Guardar resultaT ENTITY_LIST model_llista; model_llista.add(lingote); // // Gesti?? d'arxiu FileInfo fileinfo; res = api_save_version(15,0); check_outcome(res); fileinfo.set_units (1.0); fileinfo.set_product_id ("Wikipedia ACIS"); res = api_set_file_info (3, fileinfo); check_outcome(res); // FILE *output_file = acis_fopen ("acis_model.sat", "w"); res = api_save_entity_list (output_file, TRUE, elist); check_outcome(res); acis_fclose (output_file); } api_terminate_kernel(); api_stop_modeller(); }
[edita] Interf??cie en Scheme
La segona ??s fent ??s de la interf??cie Scheme AIDE (o en angl??s Scheme ACIS Interface Driver Extension). Aquesta ??s una petita aplicaci?? que fa ??s d'ACIS. ??s molt ??til per desenvolupadors d'aplicacions en ACIS, doncs permet c??rrer petits programes tipus script en llenguatge Scheme ??til per la creaci?? de codi de prototipus. Altres prop??sits solen ser:
- Proveir una forma de comprovar la funcionalitat oferta per ACIS sense necessitat d'escriure o compilar una aplicaci?? en C++. Tal com s'ha mencionat abans, aix?? permet que els programadors puguin aprendre i crear prototipus de qualsevol funcionalitat.
- Ajudar a donar una idea de com implementar alguna funcionalitat espec??fica en una aplicaci?? desenvolupada en C++, donat que Spatial Corp proporciona el codi font en C++ per la creaci?? de les extensions en Scheme utilitzades per Scheme AIDE.
- Servir com exemple per la creaci?? d'aplicacions de ACIS en Scheme o el punt de partida per la creaci?? d'una nova aplicaci?? d'ACIS en Scheme.
- Finalment, servir com una ferramenta de comunicaci?? amb Spatial per reportar errades o "bugs" en el software.
Scheme AIDE ??s un programa tipus TUI (Text-based User Interface) que accepta comandes en Scheme i mostra els resultats en una finestra separada, aquestes comandes poden ser instruccions natives en Scheme o extensions Scheme per la manipulaci?? d'ACIS.
(define lingote (solid:block (position 0 0 0) (position 20 20 10))) (define htta (solid:cylinder (position 10 10 5) (position 10 10 15) 5)) (bool:unite lingote htta) (part:save "acis_modl.sat")
[edita] Sistema d'arxius
ACIS guarda informaci?? sobre els models en arxius externs els quals t?? un format obert. Aix?? li permet a altres aplicacions, encara aquelles que no estan basades en ACIS, l'acc??s i manipulaci?? del model geom??tric. La informaci?? m??nima necess??ria per entendre el format d'arxiu ACIS inclou l'estructura del format de l'arxiu, com es guarden les dades, els tipus de dades escrites, els subtipus i les refer??ncies.
[edita] Tipus d'arxius
Existeixen dos tipus d'arxius en ACIS. El tipus Standard ACIS Text (SAT) i el tipus Standar ACIS Binary (SAB). Ambd??s posseeixen la mateixa informaci??, per la qual cosa el terme arxiu SAT s'utilitza quan no es necessita fer ninguna diferenciaci??. Els arxiu tipus SAT s??n arxius de text tipus ASCII i per la qual cosa es poden visualitzar per mitj?? de qualsevol editor de text. Els arxius tipus SAT tenen caracter??stiques de text f??cils de llegir, com nova l??nea, espais entre paraules. Aquests arxius tenen l'extensi?? .sat. Els arxius tipus SAB, per el contrari, no es poden visualitzar f??cilment amb un editor de text. Aquests estan dissenyats per se m??s compactes i no per la lectura per els humans. Els arxius tipus SAB tenen l'extensi?? .sab.
[edita] Estructura de l'arxiu
L'estructura de l'arxiu est?? dividida en blocs com:
- Encap??alat (tres renglons),
- Registres d'entitats - La major part de les dades,
- Opcional - Marcador del comen??ament d'hist??ria de dades.
- Opcional - Registres d'entitats antigues necess??ries per la hist??ria i operacions de navegaci?? (refer/desfer).
- Opcional - Marcador de final d'hist??ria de dades.
- Marcador de fi d'arxiu.