当前位置: 首页 > article >正文

FME安装问题以及FME处理dwg代码示例

  1. FME 安装
    说明:这里采用的是FME2022的desktop的来处理和读取cad dwg文件 (曾今安装过去fme的,就需要全局删除所有fme的文件夹)
    https://www.zhihu.com/question/278356734
    https://www.xiazai99.com/down/soft266163.html
    https://www.cnblogs.com/alunzuishuai/p/16344909.html

获取crack 安装包
链接:https://pan.baidu.com/s/1CsJhsWzLjo6e7HBsVN0WWQ?pwd=yut5
提取码:yut5
在这里插入图片描述

1.1 安装 fme-flexnet-win-x64.msi 文件

安装完后,C:\Program Files\FlexServer
在这里插入图片描述

至此,需要检查hostid.txt文件不能有重复的网卡
在这里插入图片描述

1.1 生产safe.lic文件
解压crack文件夹
在这里插入图片描述

在这里插入图片描述

按上图,修改dummy.txt文件,修改hostid.txt 和网卡之后,执行命令行。生产新的safe.lic文件

在这里插入图片描述

  • 替换系统默认“C:\Program Files\FlexServer” safe.exe
  • 执行BatchFiles中的restartService.bat文件

在这里插入图片描述
在这里插入图片描述

若发现多个网卡,需要修改成一个。从hostid.txt文件获取
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

启动成功之后,方可安装“fme-desktop-2022.0-b22245-win-x64-beta.exe”

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. FME 常见错误
    1、无法active,safe.lic文件生成的不对。按上面crack的流程执行即可

  2. IDEA 配置FME开发环境
    打开idea, new project
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3. FME处理dwg,并读取cad里面的行政区划保护线
核心代码:
public static void main(String[] args) throws FMEException {
try {
_fmeSession = FMEObjects.createSession();
IFMEStringArray stringArray = _fmeSession.createStringArray();
stringArray.append(“FME_USE_RICH_GEOMETRY”);
stringArray.append(“yes”);

    _fmeSession.init(stringArray);

    FmeCreateReader("D:/fmeTest/src/com/guodi/01ljymq.dwg");
    IFMEFeature _fmeFeatureRead = _fmeSession.createFeature();


    while (_fmeReader.read(_fmeFeatureRead)) {
        String strLyr = GetFmeFeatureAttribute(_fmeFeatureRead, "autocad_layer").toUpperCase();
        System.out.println(strLyr);

        if (strLyr.equalsIgnoreCase("--文物保护线")) {
            IFMEGeometry geo = _fmeFeatureRead.getGeometry();

            // create visitor
            FmeCADDataVisitor visitor = new FmeCADDataVisitor();
            visitor.setFmeSession(_fmeSession);
            visitor.setFmeGeometry(geo);

            if (null != geo) {
                geo.acceptGeometryVisitor(visitor);
                if (geo instanceof IFMEPolygon || geo instanceof IFMELine || geo instanceof IFMEArc || geo instanceof IFMEEllipse ||
                        geo instanceof IFMEPath) {

                    String strHandle = GetFmeFeatureAttribute(_fmeFeatureRead, "autocad_entity_handle");
                    String strEntName = GetFmeFeatureAttribute(_fmeFeatureRead, "autocad_entity");
                    String strColor = GetFmeFeatureAttribute(_fmeFeatureRead, "autocad_color");

                    // collect dwg data items
                    DwgDataItem dwgItem = new DwgDataItem();
                    dwgItem.strColor = strColor;
                    dwgItem.strEntName = strEntName;
                    dwgItem.strHandle = strHandle;
                    dwgItem.geometry = visitor.geometry;

                    results.add(dwgItem);
                }
            }
        }
        // handle next features right now
        _fmeFeatureRead = _fmeSession.createFeature();
    }
} catch (FMEException ex) {
    System.out.println("FME初始化错误:" + ex.getMessage().toString());
    return;
}

_fmeReader.close();
_fmeReader.dispose();
_fmeReader = null;

}

最后结果如下:

在这里插入图片描述


http://www.kler.cn/a/4270.html

相关文章:

  • ASP.NET Core WebApi接口IP限流实践技术指南
  • SpringSecurity-前后端分离
  • Ondo SIP Server
  • 【Flink系列】4. Flink运行时架构
  • 从漏洞管理到暴露管理:网络安全的新方向
  • 语音合成的预训练模型
  • 基于springboot实现财务管理系统【源码+论文】
  • js+echarts画图:代码没报错,但是图表不显示
  • Matlab进阶绘图第11期—方块热图灵活版
  • 计算广告(六)
  • Linux: 设备节点创建移除过程简析
  • javascript的严格模式与有什么特点?
  • 小白学Pytorch系列--Torch.nn API Recurrent Layers(8)
  • 渗透测试之冰蝎实战
  • 使用 Alluxio 优化 EMR 上 Flink Join
  • 有钱还系统开发|有钱还系统顾头不顾尾?最后的人会受伤害?
  • Thinkphp 6.0路由的域名和跨域请求
  • TS常用数据类型(TypeScript常用数据类型,ts常用数据类型和js常用数据类型的区别)
  • 前端面试题之html css篇
  • Spring MVC 启动之 Handler 揭秘
  • C#学习 Day2
  • gunicorn启动flask输出调试信息
  • CocosCreator实战篇 | 实现刮刮卡和橡皮擦 | 擦除效果
  • Mysql语句复习
  • 安装及使用本地Maven仓库
  • 面经-javascript基础