vc++如何导入CAD(*.SHX)

a66412461 2012-08-06 03:11:49
我导入.SHX用字符串接收文件我后台获取到文件内容为AutoCAD-86 bigfont 1.0是什么意思我要怎么转换为对应的字体格式。让我输入5打印出对应的样式!
...全文
229 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozhe19891222 2013-11-07
  • 打赏
  • 举报
回复
同问啊,我也想知道这段代码怎么用,我想读取SHX字体文件的信息,找到坐标点位置
a66412461 2012-08-07
  • 打赏
  • 举报
回复
我要怎么换成void CShapefileEditView::ReadSHXFile(FILE *ReadFile)
{
fread(&m_filehead.FileCode,sizeof(int),1,ReadFile);//读取filecode
m_filehead.FileCode=BigendianAndLittleendian(m_filehead.FileCode);
fread(&m_filehead.Unused[0],sizeof(int),1,ReadFile);
fread(&m_filehead.Unused[1],sizeof(int),1,ReadFile);
fread(&m_filehead.Unused[2],sizeof(int),1,ReadFile);
fread(&m_filehead.Unused[3],sizeof(int),1,ReadFile);
fread(&m_filehead.Unused[4],sizeof(int),1,ReadFile);
fread(&m_filehead.FileLength,sizeof(int),1,ReadFile);// 保留字节
m_filehead.FileLength=BigendianAndLittleendian(m_filehead.FileLength);
m_SHXFileLength=m_filehead.FileLength;
fread(&m_filehead.Version,sizeof(int),1,ReadFile);//版本
fread(&m_filehead.ShapeType,sizeof(int),1,ReadFile);//类型

fread(&m_filehead.FileBox[0],sizeof(double),1,ReadFile);//Xmin
fread(&m_filehead.FileBox[1],sizeof(double),1,ReadFile);//Ymin
fread(&m_filehead.FileBox[2],sizeof(double),1,ReadFile);//Xmax
fread(&m_filehead.FileBox[3],sizeof(double),1,ReadFile);//Ymax
fread(&m_filehead.FileBox[4],sizeof(double),1,ReadFile);//Zmin
fread(&m_filehead.FileBox[5],sizeof(double),1,ReadFile);//Zmax
fread(&m_filehead.FileBox[6],sizeof(double),1,ReadFile);//Mmin
fread(&m_filehead.FileBox[7],sizeof(double),1,ReadFile);//Mmax
// FileHead读取完毕
int offset,contentlength;
while((fread(&offset,sizeof(int),1,ReadFile))!=0)
{
offset=BigendianAndLittleendian(offset);

fread(&contentlength,sizeof(int),1,ReadFile);
contentlength=BigendianAndLittleendian(contentlength);
}
fclose(ReadFile);
}
这段解读shx文件的代码呢。
a66412461 2012-08-07
  • 打赏
  • 举报
回复
我要怎么换成void CShapefileEditView::ReadSHXFile(FILE *ReadFile)
{
fread(&m_filehead.FileCode,sizeof(int),1,ReadFile);//读取filecode
m_filehead.FileCode=BigendianAndLittleendian(m_filehead.FileCode);
fread(&m_filehead.Unused[0],sizeof(int),1,ReadFile);
fread(&m_filehead.Unused[1],sizeof(int),1,ReadFile);
fread(&m_filehead.Unused[2],sizeof(int),1,ReadFile);
fread(&m_filehead.Unused[3],sizeof(int),1,ReadFile);
fread(&m_filehead.Unused[4],sizeof(int),1,ReadFile);
fread(&m_filehead.FileLength,sizeof(int),1,ReadFile);// 保留字节
m_filehead.FileLength=BigendianAndLittleendian(m_filehead.FileLength);
m_SHXFileLength=m_filehead.FileLength;
fread(&m_filehead.Version,sizeof(int),1,ReadFile);//版本
fread(&m_filehead.ShapeType,sizeof(int),1,ReadFile);//类型

fread(&m_filehead.FileBox[0],sizeof(double),1,ReadFile);//Xmin
fread(&m_filehead.FileBox[1],sizeof(double),1,ReadFile);//Ymin
fread(&m_filehead.FileBox[2],sizeof(double),1,ReadFile);//Xmax
fread(&m_filehead.FileBox[3],sizeof(double),1,ReadFile);//Ymax
fread(&m_filehead.FileBox[4],sizeof(double),1,ReadFile);//Zmin
fread(&m_filehead.FileBox[5],sizeof(double),1,ReadFile);//Zmax
fread(&m_filehead.FileBox[6],sizeof(double),1,ReadFile);//Mmin
fread(&m_filehead.FileBox[7],sizeof(double),1,ReadFile);//Mmax
// FileHead读取完毕
int offset,contentlength;
while((fread(&offset,sizeof(int),1,ReadFile))!=0)
{
offset=BigendianAndLittleendian(offset);

fread(&contentlength,sizeof(int),1,ReadFile);
contentlength=BigendianAndLittleendian(contentlength);
}
fclose(ReadFile);
}
这段解读shx文件的代码呢。
a66412461 2012-08-06
  • 打赏
  • 举报
回复
void GeneralHgt::materialToHgt(){
/*double direct,aPos_S_X,aPos_S_Y,aPos_E_X,aPos_E_Y,Center_X,Center_Y,Flag_1,Flag_2;*/
String ^line;
HGTRecord hgt;
array<String^> ^br=gcnew array<String^>(9);

//声明读的文件流
StreamReader^ sr = gcnew StreamReader(filename);
line = sr->ReadLine();
br=line->Split('-');
/*Flag_1=int::Parse(br[7]);
Flag_2=int::Parse(br[8]);*/
hgt.Style=System::Convert::ToString(br[1]);
hgtRecord->Add(hgt);
sr->Close();
}
(br=AutoCAD-86 bigfont 1.0)

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧