爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2727|回复: 3

[混合编程] IDL编程学习之DXF文件

[复制链接]

新浪微博达人勋

发表于 2018-8-29 11:26:35 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
------DXF科普------
DXF AutoCAD与其它软件之间进行CAD数据交换的CAD数据文件格式。
DXF是一种开放的矢量数据格式,可以分为两类:ASCII格式和二进制格式;
ASCII具有可读性好的特点,但占用的空间较大;
二进制格式则占用的空间小、读取速度快。
绝大多数CAD系统都能读入或输出DXF文件。
------操作实例------
在控制台直接打开dxf会出错:
IDL>xdxf,'C:\Users\Administrator\Desktop\heart.dxf'
% GET_DXF_OBJECTS: DXF not supported on this architecture
在网上查了帖子:
http://blog.sina.com.cn/s/blog_764b1e9d0102xcka.html
原来是因为xdxf工具是32位系统下才能用!
------代码------
PRO test_idlffdxf
  ;启动32位进程
  b=idl_idlbridge(ops=32)
  ;使用idlffdxf读取心脏数据
  command="heart=obj_new('idlffdxf',"+ $
    "filepath('heart.dxf',subdir=['examples','data']))"
  b.execute,command
  b.execute,"heartTypes=heart.getcontents()"
  b.execute,"tissue=heart.getentity(heartTypes[1])"
  b.execute,"connectivity=*tissue.connectivity"
  b.execute,"vertices=*tissue.vertices"
  ;从32位IDL进程中获取心脏数据到64位IDL
  vertices=b.getvar('vertices')
  connectivity=b.getvar('connectivity')
  ;对象图形法显示心脏三维模型
  oPoly=idlgrpolygon(vertices,poly=connectivity,$
    style=2,color=!COLOR.RED, /shading)
  xobjview,oPoly,SCALE=0.7,title='Heart'
  xobjview_rotate, [1, 0, 0], -70
END
------输出的交互图------
TIM截图20180829112608.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-8-29 11:39:37 | 显示全部楼层
试图在32位进程中用xdxf打开dxf文件,只有一个黑对话框闪过,没有成功

  ;启动32位进程
  b=idl_idlbridge(ops=32)
  ;使用idlffdxf读取心脏数据
  command="heart=obj_new('idlffdxf',"+"'C:\Users\Administrator\Desktop\heart.dxf')"
  b.execute,command
  b.execute,"heartTypes=heart.getcontents()"
  b.execute,"tissue=heart.getentity(heartTypes[1])"
  b.execute,"connectivity=*tissue.connectivity"
  b.execute,"vertices=*tissue.vertices"
  ;从32位IDL进程中获取心脏数据到64位IDL
  vertices=b.getvar('vertices')
  connectivity=b.getvar('connectivity')
  ;对象图形法显示心脏三维模型
  b.execute,"xdxf,'C:\Users\Administrator\Desktop\heart.dxf'"


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-8-29 13:35:15 | 显示全部楼层
楼主好厉害
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-8-29 13:56:20 | 显示全部楼层

这个帖子其实是别人的成果,我只是遇到了相同的问题,动手实践一下罢了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表