Bool.dll Library Logo

 

Overview

The Bool library was initially developed for use in microelectronic mask making and layout software. It is integer based and uses 4 byte signed integers for the coordinate data -- thus limiting the max and min coordinate values to 2,147,483,647. To convert from real world units (such as um or mil) one defines a database tick and the number of database ticks per real world unit.

There are two basic entity types supported - polygons and paths.

Polygons are represented by an array of X,Y coordinate pairs (note that the first and last coordinate of each polygon are the same point so it requires 5 pairs to define a rectangle). Paths are represented by an array of X,Y coordinate pairs along with a width and and an end-cap definition.

When processing multiple polygons one uses an array of arrays.

Bool also supports the Leonov polygon description - this consists of a parent polygon followed by one or more children that represent holes within the parent.



 

Function List

 

Initialization & Cleanup

BoolDllReserveLicenses

BoolDllInit_MT

BoolDllClose_MT

BoolDllReleaseLicenses

BoolRelease_memory

BoolRelease_array


Execution

Boolean_MT

DeEmbedding

DoUnion_MT

DoBinary_MT


Information Functions

BoolDllGetVersion

LogfileLevel_MT

GetErrorCoordinates

ResetIllegalCnts


 

Execution Control

BoolClip_Union_MT

BoolSet_Maxpts_MT

BoolWindow_Init_MT

BoolPartition_Init_MT

SetPartioningThreshold_MT

BoolSetDoubleParm_MT

BoolSetLogFileParm_MT

BoolSetNonIsotrSzParms_MT

SizingMode_MT

SetRtnEdgesFlag_MT

RoundCorners_MT

Set_L_Input_MT

Set_L_Output_MT

Set_Cnv_Output_MT

SetManhFlag_MT

SetEdgePtComp_MT

 

Utility Functions

RtnEdges_MT

Convert2CounterClockwise

Convexing

OPath2Bndrys

Path2BndrysUnion

GetCutlines

AreaOfPolygon

BoolConnectedSets

BoolClipPath2Region

BoolObjectInRegion

PointsInsidePoly

PointInPolyArray



 

Sample Code

Example 1 - A Simple Two Polygon Example

Two polygons are booleanized (choice of OR, DIFF, XOR, AND) and these polygons and the result are written as a DXF file.



  Documentation Download Price Revision History