根据 Excel 数据展开点或插入图块,用的免费国产开发工具之易楼易码
本帖最后由 jingelou 于 2015-8-3 14:15 编辑//<当前目录> - 本源代码文件{批量插入图块.esf}所在目录
//sXlsFile - Excel 文件路径 <当前目录>/位置.xls
CString sXlsFile = "位置.xls";
//sDwgFile - DWG 图块文件路径 <当前目录>/图块.dwg
CString sDwgFile = "图块.dwg";
//nRow - Excel Sheet 1 的行数
//nCol - Excel Sheet 1 的列数
int nRow, nCol;
nRow = 0;
nCol = 0;
//excelRange(nRow, nCol, 文件路径, 工作表位置, 是否关闭此工作表)
excelRange(nRow, nCol, sXlsFile, 1, 0);
//循环读取 Excel 所有行
for(int i = 1; i <= nRow; i++)
{
int nCol = 1;
//得到excelGet(文件路径, Sheet 1, 行位置, 列位置{1})
CString sName = excelGet(sXlsFile, 1, i, nCol++);
//插入图块insert(图块文件路径, 图块名称, 是否替换重名的图块{0})
insert(sDwgFile, sName, 0);
//插入点
point ptIns;
//得到第2列
CString s = excelGet(sXlsFile, 1, i, nCol++);
ptIns.x = atof(s.GetBuffer());
//得到第3列
s = excelGet(sXlsFile, 1, i, nCol++);
ptIns.y = atof(s.GetBuffer());
//得到第4列
s = excelGet(sXlsFile, 1, i, nCol++);
ptIns.z = atof(s.GetBuffer());
//得到第5列
s = excelGet(sXlsFile, 1, i, nCol++);
double dAngle = atof(s.GetBuffer());
//得到第6列
s = excelGet(sXlsFile, 1, i, nCol++);
double dScale = atof(s.GetBuffer());
//绘制图块block(图块名称, 插入点, 角度, 比例)
block(sName, ptIns, dAngle, dScale);
//展开点
//dimp(ptIns);
}http://www.hoholive.net/GM/el/gif/insertblock.jpg
**** Hidden Message *****
免费的开发工具都是很好的,值得程序员好好学习。 回覆看一下隐藏的内容
谢谢分享!
謝謝樓主分享 回复看看隐藏 ...... 谢谢 楼主分享 Visual C++开发AutoCAD
谢谢 楼主分享 謝謝樓主分享 回复看看隱藏 謝謝樓主分享
页:
[1]
2