The prototype is developed using AutoCAD Architecture® and Microsoft Project®. Both software supports the automation inter- faces and have a Component Object Model (COM). Also, they bothsupport an embedded customized program with Visual Basic for Application (VBA). Hence, a VBA code can be programmed within AutoCAD to create ActiveX Object of the MS Project application. The prototype consists of the 4D CAD model and the embedded rule-based algorithms named Hazard Explorer and Safety Measure Advisor. Some 4D CAD models (Akinci et al., 2002b; Tanyer and Aouad, 2005) were developed using the IFC or BIM compatible software; however, some others (Wang et al., 2004; Chau et al., 2005; Chantawit et al., 2005) including this research selected the commonly used software for the development. The 4D CAD model is created via linkages between 3D CAD objects (representing build- ing components) and the corresponding construction activities. The simulation control of the 4D CAD model is developed using VBA and AutoCAD’s object model. The visualization is exhibited within the AutoCAD while the corresponding schedule information is simultaneously retrieved from the MS Project through the linking keys. The details of the 4D CAD model formulation can be found in the literature so that they are excluded from this paper.The developments of the rule-based algorithms named Hazard Explorer and Safety Measure Advisor are done on AutoCAD Archi- tecture®. The software distinguishes many types of structural and non-structural components using the ‘ObjectName’ property. They are such as ‘‘AecDbSlab” for slabs; ‘‘AecDbWall” for walls; and‘‘AecsDbMember” with ‘Type’ equals to ‘‘aecsMemberTypeColumn” for columns and ‘‘aecsMemberTypeBeam” for beams. The safety boundary surfaces created in the program are the ‘Surface’ type of CAD objects. They are results of the ‘Extrude’ function of edge lines. The ‘Visible’ property of an Object is used to show or hide these ‘Surface’Objects. The ‘SetXData’ is another function that is used to associate a building Object with its own safety Surfaces. The program uses the ‘SetXData’ function to record ‘Handles’of all associated objects within the main object.