返回列表 发帖

根据 Excel 数据展开点或插入图块,用的免费国产开发工具之易楼易码

  1. //<当前目录> - 本源代码文件{批量插入图块.esf}所在目录
  2. //sXlsFile - Excel 文件路径 <当前目录>/位置.xls
  3. CString sXlsFile = "位置.xls";
  4. //sDwgFile - DWG 图块文件路径 <当前目录>/图块.dwg
  5. CString sDwgFile = "图块.dwg";
  6. //nRow - Excel Sheet 1 的行数
  7. //nCol - Excel Sheet 1 的列数
  8. int nRow, nCol;
  9. nRow = 0;
  10. nCol = 0;
  11. //excelRange(nRow, nCol, 文件路径, 工作表位置, 是否关闭此工作表)
  12. excelRange(nRow, nCol, sXlsFile, 1, 0);
  13. //循环读取 Excel 所有行
  14. for(int i = 1; i <= nRow; i++)
  15. {
  16. int nCol = 1;
  17. //得到excelGet(文件路径, Sheet 1, 行位置, 列位置{1})
  18. CString sName = excelGet(sXlsFile, 1, i, nCol++);

  19. //插入图块insert(图块文件路径, 图块名称, 是否替换重名的图块{0})
  20. insert(sDwgFile, sName, 0);
  21. //插入点
  22. point ptIns;

  23. //得到第2列
  24. CString s = excelGet(sXlsFile, 1, i, nCol++);
  25. ptIns.x = atof(s.GetBuffer());
  26. //得到第3列
  27. s = excelGet(sXlsFile, 1, i, nCol++);
  28. ptIns.y = atof(s.GetBuffer());
  29. //得到第4列
  30. s = excelGet(sXlsFile, 1, i, nCol++);
  31. ptIns.z = atof(s.GetBuffer());
  32. //得到第5列
  33. s = excelGet(sXlsFile, 1, i, nCol++);
  34. double dAngle = atof(s.GetBuffer());
  35. //得到第6列
  36. s = excelGet(sXlsFile, 1, i, nCol++);
  37. double dScale = atof(s.GetBuffer());
  38. //绘制图块block(图块名称, 插入点, 角度, 比例)
  39. block(sName, ptIns, dAngle, dScale);
  40. //展开点
  41. //dimp(ptIns);
  42. }
复制代码


下载地址
本帖隐藏的内容需要回复才可以浏览

人好少啊:D

TOP

谢谢大师,我看看。

TOP

返回列表