资源简介
matlab读入IGS文件,实现三维数据点的显示,有利于matlab编辑
代码片段和文件信息
function [ParameterData]=iges2matlab2(igsfile)
[fidmsg]=fopen(igsfile);
if fid==-1
error(msg);
end
c = fread(fid‘uint8=>uint8‘)‘;
fclose(fid);
nwro=sum((c((81:82))==10))+sum((c((81:82))==13));
edfi=nwro-sum(c(((end-1):end))==10)-sum(c(((end-1):end))==13);
siz=length(c);
ro=round((siz+edfi)/(80+nwro));
if rem((siz+edfi)(80+nwro))~=0
error(‘Input file must be an IGES-file!‘);
end
roind=1:ro;
SGDPT=c(roind*(80+nwro)-7-nwro);
Sfind=SGDPT==83;
Gfind=SGDPT==71;
Dfind=SGDPT==68;
Pfind=SGDPT==80;
Tfind=SGDPT==84;
sumSfind=sum(Sfind);
sumGfind=sum(Gfind);
sumDfind=sum(Dfind);
sumPfind=sum(Pfind);
sumTfind=sum(Tfind);
noent=round(sumDfind/2);
ParameterData=cell(1noent+1);
ParameterData{end}=noent;
roP=sumSfind+sumGfind+sumDfind;
ential1=0;
for i=(sumSfind+sumGfind+1):2:(roP-1)
ential1=ential1+1;
Dstr=c(((i-1)*(80+nwro)+1):(i*(80+nwro)-8-nwro));
Pstart=str2num(char(Dstr(9:16)))+roP;
if i==roP-1
Pend=ro-sumTfind;
else
Pend=str2num(char(c(((i+1)*(80+nwro)+9):((i+1)*(80+nwro)+16))))+roP-1;
end
Pstr=zeros(164*(Pend-Pstart+1));
j=1;
for k = Pstart : Pend
Pstr( ((j-1)*64+1) : (j*64) )=c( ((k-1)*(80+nwro)+1) : ((k-1)*(80+nwro)+64));
j=j+1;
end
Pvec=str2num(char(Pstr));
if Pvec(2)==1
ParameterData{ential1}.X=zeros(1Pvec(3));
ParameterData{ential1}.Y=zeros(1Pvec(3));
ParameterData{ential1}.Z=zeros(1Pvec(3));
for n = 1 : Pvec(3)
ZT=Pvec(4);
ParameterData{ential1}.X(n)=Pevc(3+2*n);
ParameterData{ential1}.Y(n)=Pevc(4+2*n);
ParameterData{ential1}.Z(n)=ZT;
end
else
ParameterData{ential1}.X=zeros(1Pvec(3));
ParameterData{ential1}.Y=zeros(1Pvec(3));
ParameterData{ential1}.Z=zeros(1Pvec(3));
for n = 1 : Pvec(3)
ParameterData{ential1}.X(n)=Pvec(1+3*n);
ParameterData{ential1}.Y(1n)=Pvec(2+3*n);
ParameterData{ential1}.Z(1n)=Pvec(3+3*n);
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2208 2012-05-05 19:01 iges2matlab2.m
----------- --------- ---------- ----- ----
2208 1
相关资源
- matlab的车牌定位提取
- matlab的高帽变换
- 简单的Matlab人脸识别
- 图片三维重建工具箱
- 神经网络与adaboost的强分类器
- 3D 打印技术
- 单一图像去雾
- 声纹识别
- 视频背景提取
- 图像裂纹提取
- tfristft 令x(n)=5exp(j*0.15*n*n)+6exp(
- CT图像三维体绘制
- 视频监控阴影去除
- 手写体数字识别的训练数据库
- 数字水印参考代码
- 提取瑞雷面波的频散曲线
- matlab颜色直方图算法
- retinex图像增强
- HOG 根据Dalal提出的HOG特征算法编写
- MATLAB图像去雾处理
- Bregman图像处理
- 车桥耦合振动的相关学术论文
- 帧间差分法检测运动目标
- 一维距离像(HRRP)及FFT成像对比
- knn matting 国外写的knn-matting
- Matlab UDP 主机间的数据通讯
- 随机子空间集成分类器
- 检测ECG信号的R波
- 基于sift算法的图像拼接
- 基于遗传算法的配送中心选址
评论
共有 条评论