Immersive virtual environments (VEs) are broadly applicable to situations where a user can directly perceive and interact with three-dimensional (3D) virtual objects. Currently, successful interactive applications of VEs are limited. Some interactive applications in the AEC (architecture / engineering / construction) domain have not yet benefited from applying VEs. A review of prior work has suggested that 3D interaction has not reached a level that meets real-world task requirements. Most interaction techniques pay little attention to the application contexts. When designers assemble these techniques to develop an interactive system, the interfaces often have very simple and not highly useful UIs. In this work, we describe a domain-specific design approach (DSD) that utilizes pervasive and accurate domain knowledge for interaction design. The purpose of this dissertation is to study the effects of domain knowledge on interaction design. The DSD approach uses a three-level interaction design framework to represents a continuous design space of interaction. The framework has generative power to suggest alternative interaction techniques. We choose the AEC domain as the subject of study. Cloning and object manipulation for massing study are the two example tasks to provide practical and empirical evidences for applying the DSD. This dissertation presents several important results of the knowledge use in the DSD approach. First, the DSD approach provides a theoretical foundation for designing 3D interaction. Techniques produced using DSD result in more useful real-world applications, at least in the domain of AEC. Second, the three-level interaction design framework forms a continuum of design and expands our understanding of 3D interaction design to a level that addresses real-world use. Third, this research proposes an integrated system design approach that integrates DSD and the usability engineering process. Fourth, this work produces a large set of empirical results and observations that demonstrate the effectiveness of domain-knowledge use in designing interaction techniques and applications. Finally, we apply domain-specific interaction techniques to real world applications and create a fairly complex application with improved usefulness.