Process Help

BOOLEAN - apply boolean operations to a wireframe

 

Process Name

Menu Path

Link to Command Table

BOOLEAN

Access using command line only

Click here

 

 

Introduction

The BOOLEAN process is used to apply boolean operations to one or more wireframe data file pairs. As a process, data is processed according to physical file contents, not objects in memory. This differs from the boolean command that work on objects.

BOOLEAN is used to apply one of the following boolean operations on input wireframe(s).

  1. Union - Takes two wireframes and creates a single wireframe with the same surface appearance and volume of both wireframes. Also, see the help file for the wireframe-union interactive command dialog. *OUTTR and *OUTPT will be generated with this method.
  2. Difference - Takes the difference of the second from the first wireframe by removing the first volume that is common to the second. The results will differ if the first and second wireframe are swapped. Also, see the help file for the wireframe-difference interactive command dialog. *OUTTR and *OUTPT will be generated with this method.
  3. Intersection - Takes two wireframes and creates a single wireframe output of their overlapping (common) volume. Also, see the help file for the wireframe-intersection interactive command dialog. *OUTTR and *OUTPT will be generated with this method.
  4. Extract Separate - Takes two wireframes and creates discrete pieces of a two wireframe intersection. The parameters WIRE1IN, WIRE1ON, WIRE1OUT, WIRE2IN, WIRE2ON, WIRE2OUT indicate which outputs are created. Also, see the help file for the wireframe-extract-separate interactive command dialog. *OUTTR and *OUTPT will be generated with this method.
  5. Strings from Intersection - Takes two wireframes and creates a string outlines where the surfaces intercept. Also, see the help file for the wf-intersections interactive command dialog. *OUTSTR will be generated with this method.
  6. Solid Hull - Creates a single shell around multiple overlapping surfaces. The option only uses the first wireframe input (*WIRE1TR, *WIRE1PT). Also, see the help file for the convert-wf-hull interactive command dialog. *OUTTR and *OUTPT will be generated with this method.

 

Methods 1,2,3,4 and 5 require two independent wireframe pair files to be specified. Method 6 only requires the first wireframe pair to be specified.

Methods 1,2,3,4 and 6 will output a single wireframe data file. Method 5 will output a string file.

You can optionally control which elements of an output wireframe are generated as a result of the operations above. By default, the full collection of data resulting from the boolean calculation will be generated with methods 1,2,3,4 and 6 (5 will always output a complete string file representing the intersection of two wireframes). The Parameters tab contains parameters, in addition to @METHOD to allow various elements of the output data to be enabled or disabled using 0 or 1.

,For example, if you wanted to display the intersection of two overlapping wireframe volumes, but you only wanted to produce the intersecting data originally belonging ,to *WIRE1IN (and not *WIRE2IN), and not any coincident data, you would set @METHOD=4 and the following remaining parameters:

  • @WIRE1IN=1
  • @WIRE1ON=0
  • @WIRE1OUT=1 (not relevant to the intersection method)
  • @WIRE2IN=0
  • @WIRE2ON=0
  • @WIRE2OUT=1 (not relevant to the intersection method)

The ...IN/ON/OUT parameters are only applicable where @METHOD=4. The Strings from Intersection method (@METHOD=5), by comparison, ignores all parameters other than @METHOD.

  

Files, Fields and Parameters

Input Files

Name

Description

I/O Status

Required

Type

WIRE1TR

First input wireframe triangle file.

Input

Yes

Wireframe Triangles

WIRE1PT

First input wireframe points file.

Input

Yes

Wireframe Points

WIRE2TR

Second input wireframe triangle file.

Input

Yes for @METHOD = 1,2,3,4 or 5, No for @METHOD = 6.

Wireframe Triangles

WIRE2PT

Second input wireframe points file.

Input

Yes for @METHOD = 1,2,3,4 or 5, No for @METHOD = 6.

Wireframe Points

Output Files

Name

I/O Status

Required

Type

Description

OUTTR

Output

Yes for @METHOD = 1,2,3,4 or 6, No for @METHOD = 5.

Wireframe Triangle

Output wireframe triangle file.

OUTPT

Output

Yes for @METHOD = 1,2,3,4 or 6, No for @METHOD = 5.

Wireframe Points

Output wireframe points file.

OUTSTR

Output

Yes for @METHOD=5

String

Output string file

Parameters

Name

Description

Required

Default

Range

Values

METHOD

Parameter to define the boolean operation run on the input wireframe(s). See Introduction for more details

Yes

0

1,6

1,2,3,4,5,6

WIRE1IN

The first wireframe inside the second wireframe: the output includes elements from the first wireframe which fall inside (or below for a DTM) the second wireframe.

 =0 : false.

 =1 : true.

Yes

1

0,1

0,1

WIRE1ON

The first wireframe on the second wireframe: the output includes elements from the first wireframe which fall directly on the surface of the second wireframe.

 =0 : false.

 =1 : true.

Yes

1

0,1

0,1

WIRE1OUT

The first wireframe outside the second wireframe: the output includes elements from the first wireframe which fall outside (or above for a DTM) the second wireframe.

 =0 : false.

 =1 : true.

Yes

1

0,1

0,1

WIRE2IN

The second wireframe inside the first wireframe: the output includes elements from the second wireframe which fall inside (or below for a DTM) the first wireframe.

 =0 : false.

 =1 : true.

Yes

1

0,1

0,1

WIRE2ON

The second wireframe on the first wireframe: the output includes elements from the second wireframe which fall directly on the surface of the first wireframe.

 =0 : false.

 =1 : true.

Yes

1

0,1

0,1

WIRE2OUT

The second wireframe outside the first wireframe: the output includes elements from the second wireframe which fall outside (or above for a DTM) the first wireframe.

 =0 : false.

 =1 : true.

Yes

1

0,1

0,1

 


Notes

This command supports retrieval criteria, allowing boolean operations to be carried out on filtered input data records.


Example

!START M1      

# - Use !LOCDBOFF to look for files outside the local folder

# - Use local files by deleting the next line or use !LOCDBON

!LOCDBOFF

!BOOLEAN  &WIRE1TR(green_pyr_tr),

          &WIRE1PT(green_pyr_pt),

          &WIRE2TR(red_cube_tr),

          &WIRE2PT(red_cube_pt),

          &OUTTR(BooleanTR),

          &OUTPT(BooleanPT),

          &OUTSTR(BooleanSTR),@METHOD=1.0,@WIRE1IN=1.0,@WIRE1ON=1.0,

          @WIRE1OUT=1.0,@WIRE2IN=1.0,@WIRE2ON=1.0,@WIRE2OUT=1.0

!END


  openbook.gif (910 bytes)   Related Topics

 

Boolean operationsWireframes - Difference DialogWireframe Extract Separate DialogWireframe Intersection DialogWireframe Solid Hull DialogWireframe Strings From Intersections DialogWireframe Union Dialog