坐标串生成cad文件

import fme
import fmeobjects
from fmeobjects import FMELogFile
from fmeobjects import FMEFeature, FMEPoint, FMELine, FMEGeometryTools,FMECurve,FMEPolygon# Template Function interface:
def processFeature(feature):pass# Template Class Interface:
class FeatureProcessor(object):def __init__(self):passdef input(self,feature):List_counter = feature.getAttribute('_element_count')points = []for i in range(int(List_counter)):x = feature.getAttribute('_list{'+str(i)+'}.X')y = feature.getAttribute('_list{'+str(i)+'}.Y')point = FMEPoint(x,y)#points.append(point)points.append((x,y))#FMELogFile().logMessageString(str(point))curve = FMELine(points)ploygon = FMEPolygon(curve)#FMELogFile().logMessageString(str(fa))ft = FMEFeature()ft.setGeometry(ploygon)self.pyoutput(ft)def close(self):pass

合并cad图层

import fme
import fmeobjects
import re# Template Function interface:
def processFeature(feature):pass# Template Class Interface:
class FeatureProcessor(object):def __init__(self):passdef input(self,feature):name = feature.getAttribute('fme_feature_type')match = [["高压|Kv","高压线"],["W|仓储","仓储用地"],["公路","公路"],["ROAD|RD|S1|S3|交通|路","道路"],["R|居住","居住用地"],["G2|防护绿地","防护绿地"],["M|工业","工业用地"],["G1|公共绿地","公共绿地"],["G3|S2|广场","广场用地"],["教育","教育科研用地"],["RIVER|E1|河","河流"],["B1|CR|C2|市场|商业","商业用地"],["B4","公用设施营业用地"],["A3|中小学","中小学用地"],["U|C9|公共设施|市政","市政用地"],["A2|C3|文体|文化","文化娱乐"],["C4|体育","体育用地"],["S3|停车","停车场"],["C7|文物|古迹","文物古迹"],["A1|C1|行政|办公","行政办公用地"],["A5|C5|医疗|卫生","医疗卫生用地"],["村镇|村庄","村庄"],["储备","备用地"]]for i in range(0,len(match)):reg = re.search(match[i][0],name)if(reg!=None ):feature.setAttribute('fme_feature_type',match[i][1])self.pyoutput(feature)breakdef close(self):pass

输出信息

from fmeobjects import FMELogFileFMELogFile().logMessageString("hello world")

创建属性

import fme
import fmeobjects
from fmeobjects import FMELogFile
from fmeobjects import FMEFeature, FMEPoint, FMELine, FMEGeometryTools,FMECurve,FMEPolygon
import re# Template Function interface:
def processFeature(feature):pass# Template Class Interface:
class FeatureProcessor(object):def __init__(self):passdef input(self,feature):path = feature.getAttribute('autocad_xrecord_data_list{1}')path = path.replace("string:","")path = path.replace(".txt","")str_list = re.split(",|,",path)FMELogFile().logMessageString(str(str_list))try:feature.setAttribute('agent',str(str_list[0]))feature.setAttribute('landid',str(str_list[1]))feature.setAttribute('projname',str(str_list[2]))except Exception as e:FMELogFile().logMessageString(str(e))passself.pyoutput(feature)def close(self):pass

读取多个cad坐标点生成红线

import fme
import fmeobjects
# Template Function interface:
# When using this function, make sure its name is set as the value of
# the 'Class or Function to Process Features' transformer parameterfrom fmeobjects import FMELogFile
import re
from fmeobjects import FMEFeature, FMEPoint, FMELine, FMEGeometryTools,FMECurve,FMEPolygon# Template Class Interface:
# When using this class, make sure its name is set as the value of
# the 'Class or Function to Process Features' transformer parameter
class FeatureProcessor(object):def __init__(self):passdef input(self,feature):#self.pyoutput(feature)List_counter = feature.getAttribute('_element_count')xs = []ys = []for i in range(int(List_counter)):text = feature.getAttribute('_list{'+str(i)+'}.autocad_text_string')if(re.search("X *=",text)!=None):xs.append(float(text.split("=")[1]))           if(re.search("Y *=",text)!=None):ys.append(float(text.split("=")[1]))points = []for i in range(0,len(xs)):points.append((ys[i],xs[i]))curve = FMELine(points)ploygon = FMEPolygon(curve)FMELogFile().logMessageString(str(xs))ft = FMEFeature()ft.setGeometry(ploygon)ft.setAttribute('path',str(feature.getAttribute('autocad_source_filename')))self.pyoutput(ft)def close(self):pass

提取红线

提取条件:红色,宽度大于0,有坐标点。
障碍:红线并不完全闭合,其他红线的干扰
解决思路:特征筛选,坐标点在面上最多的面判定为目标红线


通过WorkplaceRunner 一个一个文件进行处理

FME 应用cad处理相关推荐

  1. FME实现CAD文件复杂注记

    FME往CAD文件添加注记 目标 实现步骤 生成管段图形 生成注记点位置 生成注记 写入cad文件 目标 按照客户要求将提供的MDB表格生成cad线和注记,具体要求见下图: 要求点: 1,在管段的两端 ...

  2. FME对CAD中组的处理

    原文发布时间:2013-07-03 作者:小新 CAD中除了常见的点.线.面,还有一些特殊的几何类型,如CAD中的块,组等. CAD的块比较常见,最近在处理CAD数据的时候,遇到CAD中的组,那么来看 ...

  3. FME对CAD扩展属性的读写

    原文发布时间:2011-04-13 作者:怕冷的企鹅 首先,FME2011最新的版本可以支持CAD几类不同的版本:从早期的Release9一直到现在Release2010,默认的创建新目标数据的版本为 ...

  4. 基于FME实现CAD图的三维多段线批量转多段线工具,dwg三维多段线批量转多段线工具

    当CAD图中出现部分三维多段线时,在某些作图软件中无法识别,则需要将三维多段线修改为多段线.当三维多段线与其他的数据混合在一起,且数据量比较大时,人工修改非常麻烦. 下面介绍一种通过FME批量修改三维 ...

  5. FME转换CAD填充块文件为SHP,并正确显示颜色符号

    有的项目需要用到CAD填充数据,转为SHP,其它图件使用,并且需要正确显示填充的颜色. 思路: 1输入DWG文件 2用TESTER转换器判断是不是填充 3转为SHP文件 4加载SHP文件,设置符号样式 ...

  6. FME自动实现CAD转PDF的几种方式——以标准房屋建筑面积测算表为例

    买房 对许多人来说都是人生大事之一, 关乎着定居.关乎着家庭.关乎着人生的再进一步. 要说买房以后最期待的事情是什么? --拥有红本本,肯定是最重要的一项. 细心的你不难发现,房本除了房屋信息.房主信 ...

  7. 三调地类代码_FME实现三调地类变化流量表制作

    今年的三调进行的如火如荼,三调的成果数据做完了之后,相信今后很大的工作就是要想办法将三调的成果数据更好的利用起来.而为了更直观的了解到相较于二调,三调的地类变化情况,三调地类变化流量表的制作就很有必要 ...

  8. 2020FME博客大赛——基于FMEServer实现shp、dwg等常用空间数据在webgis系统的展示

    作者:刘军 单位:天津市渤海城市规划设计研究院 摘要:一般WebGIS系统上,用户只能被动查看系统数据,用户和系统的交互性较低.将用户自己的数据上传到WebGIS系统上,与其他业务数据叠加,进行查看和 ...

  9. FME教程:GIS建筑面转CAD格式JMD,还原房屋建筑结构、层数、地物样式,shp转CAD,GIS转dwg

    目录 一.实现效果 二.实现过程 1.数据读取 2.房屋结构映射为CASS码 3.构建扩展属性列表 4.输出 三.总结 GIS数据转CAD数据,是经常遇到的需求,但是CAD数据形式与GIS相差甚远,因 ...

  10. fme转换shp面文件到cad自定义填充图案

    选择时是无法找到自定义的填充图案的,在转换时直接填入自定义的填充图案名称,另外注意2点 转换时打开cad,且在cad内已经支持了自定义填充图案 增加一个属性,autocad_hatch_pattern ...

最新文章

  1. TensorFlow与PyTorch之争,哪个框架最适合深度学习
  2. Redis资料汇总专题
  3. 题库练习1(单词长度、统计字符个数、)
  4. openHEVC 编译 for VS2017+Win10 x64
  5. 前端学习(982):jquery概述
  6. 我们如何体验 Line 的生活方式
  7. JavaScriptjQuery.动态删除元素
  8. 【Java】Java 对象头 真的是 32位 吗?
  9. matlab打开矩阵表,如何将Excel数据导入MATLAB中?:EXCLE中通过矩阵表输出选项
  10. GTP时间管理的实践心得
  11. java课设 五子棋_Java课程设计 ————五子棋 (个人博客)
  12. python可视化计算器_Python tkinter实现简单加法计算器代码实例
  13. PLA算法总结及其证明
  14. 阿里巴巴Xin公益大会揭示个人参与公益事业的力量
  15. 贝塞尔波纹+蒙版和螺旋线进度条控件
  16. java web 下拉列表_web中下拉列表的几种实现
  17. CCE to REG bundle
  18. CDISC的SDTMIG,3.2版翻译和学习1---第一章 介绍
  19. 【渝粤教育】国家开放大学2018年秋季 0686-22T广告创意与表现(一) 参考试题
  20. 慧静51单片机软件_MCS-51单片机程序求极值

热门文章

  1. 内存超频时序怎么调_内存时序怎么调
  2. matlab车牌自动定位,超级实用的车牌定位matlab程序
  3. vue使用百度OCR拍照识别图片信息
  4. div 完美三等分(来源其他网站)
  5. server: WebGame服务端架构分析
  6. 第09篇:Spring处理Mybatis事务
  7. 【PHP练习】每日词汇,随机产生10个单词,方便备考随时背诵(php+html+css)
  8. 简述apache和php工作流程,php工作流程
  9. 手机ppi排行测试软件,依然是目前屏幕色准表现最好的智能手机:iPhone XS 屏幕测试...
  10. 北京邮电大学计算机考研经验分享