【CAD插件开发】批量打印图纸(C++)

0 评论
/
4 阅读
/
1135 字
13 2025-02
分类:

实现图纸批量打印 使用C++ API遍历图纸中的所有图纸(通常是DWG文件)并执行打印操作:

#include "aced.h"
#include "dbdict.h"
#include "dbents.h"
#include "acedads.h"
#include "acedcmd.h"
#include "acdocman.h"
#include "adslib.h"
#include "dbfiler.h"
#include "adscodes.h"
#include <iostream>
 
void BatchPrint(const char* folderPath) {
    struct dirent *de;  // 目录项结构体
    DIR *dr = opendir(folderPath); // 打开目录
    if (dr == nullptr) {
        return; // 目录打开失败
    }
    while ((de = readdir(dr)) != nullptr) { // 读取目录项
        if (de->d_type == DT_REG) { // 只处理文件
            std::string fileName = de->d_name;
            if (fileName.find(".dwg") != std::string::npos) { // 检查文件扩展名是否为.dwg
                acDocManager->Open(folderPath, fileName.c_str(), NULL, NULL, NULL, NULL); // 打开图纸文件
                acDocManager->Document()->Print(); // 打印图纸
                acDocManager->CloseDocument(acDocManager->Document()); // 关闭图纸文件
            }
        }
    }
    closedir(dr); // 关闭目录流
}
    暂无数据