SUBSYSTEM OVERVIEW

IGES Project (IPRJ) Subsystem

The IPRJ subsystem provides the ability to project IGES entities from a specified IGES drawing or view entity into the specified model. Currently only the 404 form 0 and the 410 form 0 are supported. The projection of an IGES drawing entity will project the drawing's model space geometry and drawing space entities through the drawing's associated views into the specified model. The projection of the IGES view entity will project and clip all IGES model space geometry visible in the view to the destination model. The destination model does not have to be empty, but the units between the model that MDA_PTR is defined in and the destination model are assumed to the same.

ENTITY BINDINGS

The subsystem can be called on an entity level. The main interface bindings are:

PDX_MSGT iprj_Project404( long option,
                          IEVM_VAL_RESULTS *ievm_val_results,
                          MDA_PTR db_404, int dst_model,
                          double origin[2], void *results)
PDX_MSGT iprj_Project410( long option,
                          IEVM_VAL_RESULTS *ievm_val_results,
                          MDA_PTR db_410, int dst_model,
                          double origin[2], void *results)

The following options may be used for the iprj_Project404 interface:

IPRJ_DRAW_BOUNDARIES

Create a boundary around the drawing by using the 406:16 property attached to the drawing entity.

IPRJ_VIEW_BOUNDARIES

Represent the view clipping box with dashed lines.

The following option may be used for the iprj_Project410 interface:

IPRJ_VIEW_BOUNDARIES

Represent the view clipping box with dashed lines.

The IEVM_VAL_RESULTS structure is the structure that is returned from entity validation (IEVM), this will allow only valid entities to be projected to a drawing or view. The MDA_PTR pointer will be either a drawing or view db_ptr. The dst_model model is an allocated model that the projected model is to be placed. The destination model does not have to be empty, but the model space units are assumed to be the same. The origin array represents the new origin for the drawing. This is useful for projecting multiple drawings into one file. The results structure returned has not been implimented yet.

TOLERANCES

The IPRJ subsystem uses 4 tolerances: MODEL_SPACE_PNT_COIN_TOL, PNT_PROJ_TOL, ZERO_TOL and MODEL_LINEAR_APPROX_TOL. Note: MODEL_LINEAR_APPROX_TOL needs to be set in the model that is to be projected. (see gdx_InitTolerances, iprj_intro)

ENTITY MAPPINGS

During the projection of the IGES drawing or view it maybe necessary to create extra entities with different types and forms because of the entity's orientation in a specific view. For instance, if a circle was to be displayed in three different view, such as a Top, Front and Isometric view, and the Top view defines the circle, the Front view would contain a line and the Isometric view would contain an ellipse. The resulting model would contain three IGES entities from the one that originally existed in the IGES file. The list below contains the mapping of the IGES entities.

Entity Support
100 Mapped to a 100, 104:1 or 110
102 Mapped to a 106:11
104 Mapped to a 104, 106:11 or 110
106:1-3 Mapped to a 106:11
106:11-13 Mapped to a 106:11
106:20-21 Mapped to a 106:11
106:31-38 Mapped to a 106:11
106:40 Direct Mapping
106:63 Mapped to a 106:11
108:-1 Mapped to a 106:11
108:0 Unsupported, Unless Referenced by view
108:1 Mapped to a 106:11
110 Note: Edge on view not output
112 Mapped to a 106:11
114 Mapped to a 106:11
116 Direct Mapping
118 Mapped to a 106:11
120 Mapped to a 106:11
122 Mapped to a 106:11
125 Mapped to a 106:11
126 Mapped to a 106:11
128 Mapped to a 106:11
130 Mapped to a 106:11
132 Mapped to a 106:11
140 Mapped to a 106:11
141 Mapped to a 106:11
142 Mapped to a 106:11
143 Mapped to a 106:11
144 Mapped to a 106:11
150 Unsupported
152 Unsupported
154 Unsupported
156 Unsupported
158 Unsupported
160 Unsupported
162 Unsupported
164 Unsupported
168 Unsupported
180 Unsupported
182 Unsupported
184 Unsupported
186 Unsupported
190 Unsupported
192 Unsupported
194 Unsupported
196 Unsupported
198 Unsupported
Entity Support
202 Direct Mapping
204 Unsupported
206 Direct Mapping
208 Direct Mapping
210 Direct Mapping
212 Direct Mapping
214 Direct Mapping
216 Direct Mapping
218 Direct Mapping
220 Direct Mapping
222 Direct Mapping
228 Direct Mapping
230 Mapped to a 106:11
302 Unsupported
304 Informational only
308 Associated entities written out
310 Unsupported
312 Mapped to a 212
316 Unsupported
320 Associated entities written out
322 Unsupported
402:1 Group output, entities mapped
402:2 Unsupported
402:3-4 Direct Mapping
402:5-6 Unsupported
402:7 Group output, entities mapped
402:8-13 Unsupported
402:14-18 Unsupported
402:19-21 Unsupported
404:0 Informational only
404:1 Unsupported
406:1-14 Unsupported
406:15-17 Informational only
406:18-31 Unsupported
406:5556 Informational only
406:5557 Informational onl
408 Associated entities written out
410 Informational only
412 Associated entities written out
414 Associated entities written out

Entity Support
416 Unsupported
418 Unsupported
420 Unsupported
422 Unsupported
430 Unsupported
502 Unsupported
504 Unsupported
508 Unsupported
510 Unsupported
514 Unsupported