Query2CAD: Generating CAD models using natural language queries
<|reference_start|>Query2CAD: Generating CAD models using natural language queries: Computer Aided Design (CAD) engineers typically do not achieve their best prototypes in a single attempt. Instead, they iterate and refine their designs to achieve an optimal solution through multiple revisions. This traditional approach, though effective, is time-consuming and relies heavily on the expertise of skilled engineers. To address these challenges, we introduce Query2CAD, a novel framework to generate CAD designs. The framework uses a large language model to generate executable CAD macros. Additionally, Query2CAD refines the generation of the CAD model with the help of its self-refinement loops. Query2CAD operates without supervised data or additional training, using the LLM as both a generator and a refiner. The refiner leverages feedback generated by the BLIP2 model, and to address false negatives, we have incorporated human-in-the-loop feedback into our system. Additionally, we have developed a dataset that encompasses most operations used in CAD model designing and have evaluated our framework using this dataset. Our findings reveal that when we used GPT-4 Turbo as our language model, the architecture achieved a success rate of 53.6\% on the first attempt. With subsequent refinements, the success rate increased by 23.1\%. In particular, the most significant improvement in the success rate was observed with the first iteration of the refinement. With subsequent refinements, the accuracy of the correct designs did not improve significantly. We have open-sourced our data, model, and code (github.com/akshay140601/Query2CAD).<|reference_end|>
@article{badagabettu2024query2cad:,
    title={Query2CAD: Generating CAD models using natural language queries},
    author={Akshay Badagabettu, Sai Sravan Yarlagadda, Amir Barati Farimani},
    journal={arXiv preprint arXiv:2406.00144},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.00144},
    primaryClass={cs.LG cs.AI cs.CE}
}