在tekla的一些配置文件中绝大都是本文格式存储的,如.dim;.ad;.vi;.tpl等文件;但是其中.lay文件却是一个例外;这个文件用txt开打时里面是会有乱码的。

  我们知道这个文件是在软件的界面中配置的,其中版面布置中的每一个行数据对应一份lay文件。

  接下来我们就对这个文件中的内容进行解析:下图是用程序读取文件的二进制数据,截取了其中一部分;其中每一个格子表示一个Byte位,从0到255;

  这个文件中的数据分为三部分:

一、第一部分是数据头;长度不一定;因这一部分数据对二开没什么作用就不做解析了。

二、第二部分数据是表格布置列表(图一中间)其中一组数据为177位;数据位置含义如下图所示:

  1、前5位46100表示一组数据的起始位;

  2、5-8这4位表示此表格布置的Id;数据为INT32类型;

  3、13-75这63位表示表格布置的名称;编码格式位ANSI;

  4、77-88这个12位表示 e3_sheet_tab 这个固定的这12个单词;

  5、145-152这8位表示边缘宽度这个属性;数据为double格式;

  6、153-160这8位表示边缘高度这个属性;数据为double格式;

  7、161-168这8位表示间隔水平的这个属性;数据为double格式;

  8、169-176这8位表示间隔垂直的这个属性;数据为double格式;

三、第三部分数据表格是已选择的表格列表(图一右图)其中一组数据为573位;数据位置含义如下图所示:

  1、前5位47100表示一组数据的起始位;

  2、5-8这4位表示此已选表格的Id;数据为INT32类型;

  3、13-267这255位表示已选择的表格的名称;编码格式位ANSI;

  4、269-272这4位表示父表格id(数据二中的5-8位);数据为INT32类型;

  5、273-276这4位表示常考表格的id;数据为INT32类型;

  6、281-288这8位表示比例这个属性;数据为double格式;

  7、289-296这8位表示角部间的矢量x这个属性;数据为double格式;

  8、297-304这8位表示角部间的矢量y这个属性;数据为double格式;

  9、305-308这4位表示参考的排布这个属性;数据为INT32类型;其中1234分表示右上、右下、左上、坐下;

  10、309-312这4位表示参考的排布这个属性;数据为INT32类型;其中1234分表示右上、右下、左上、坐下;

  11、569这1位表示透明的这个属性; 1为透明 0为不透明;

tkela二次开发之lay文件解析的更多相关文章

  1. [置顶] Android开发之XML文件的解析

    Android系统开发之XML文件的解析 我们知道Http在网络传输中的数据组织方式有三种分别为:XML方式.HTML方式.JSON方式.其中XML为可扩展标记语言,如下: <?xml vers ...

  2. Nutch 二次开发之parse正文内容

    关于nutch的基础知识能够參考lemo的专栏 nutch支持二次开发,为了满足搜索的准确率的问题,考虑只将网页正文的内容提取出来作为索引的内容,相应的是parse_text的数据.我使用的事nutc ...

  3. EasyNVR、EasyDSS二次开发之:RTMP、HLS流在web页面进行无插件播放示例Demo代码

    不管是基于EasyNVR还是EasyDSS,都是支持无插件直播,这也是未来视频直播的一个趋势.对于传统的浏览器插件播放谁用谁知道: 以上是软件自带播放展示 背景需求 对于EasyNVR和EasyDSS ...

  4. PDMS二次开发之PML开发一些常见查询语句

    1.查找session 以及session number var !DBname DBname !db = object db(!DBname) !session = !db.lastsession( ...

  5. iOS开发之.pch文件初识

    pch全称是“precompiled header”,即预编译头文件,自Xcode6诞生之日起,便在Supporting Files文件下消失多年.说起苹果对pch的爱恨情仇,其分析pch的作用便不言 ...

  6. Android开发之assets文件夹中资源的获取

    assets中的文件都是保持原始的文件格式,需要使用AssetManager以字节流的形式读取出来 步骤: 1. 先在Activity里面调用getAssets() 来获取AssetManager引用 ...

  7. Android开发之R文件丢失

    在进行android开发的过程中,不知道怎么回事,代码中出现R代码有红色波浪线了,于是进行了clean,结果还是有红色波浪线,然后就重启了eclipse,重启以后还是这个样子,随后发现工程的R文件丢失 ...

  8. 李洪强iOS开发之-PCH文件的配置

    pch 可以用来存储共享信息,比如设备屏幕的宽度,高度.版本号等等 公用信息 Xcode 老版本会自动为我们创建pch文件,新版本开始不自动创建了,如果需要使用可以自己手动创建 创建完成后可以在里面定 ...

  9. iOS开发之pch文件

    项目的Supporting files文件夹下面有个“工程名-Prefix.pch”文件,也是一个头文件 pch头文件的内容能被项目中的其他所有源文件共享和访问 一般在pch文件中定义一些全局的宏 在 ...

  10. iOS开发之zip文件解压

    今天给大家分享zip解压到指定目录 首先需要下载ZipArchive文件 下载地址:https://pan.baidu.com/s/1S6qYicoVr3M3hI0M1EW2Bw 将下载的文件导入工程 ...

随机推荐

  1. C#枚举帮助EnumHelper

    1 public class EnumHelper 2 { 3 #region 获取枚举 4 public static List<EnumValue> GetEnumList(Type ...

  2. Qt 获取本机ipv4地址

    Qt 获取本机本地网卡的IPv4地址 本文介绍怎么用Qt去获取本机的ipv4地址 文章目录 Qt 获取本机本地网卡的IPv4地址 用法 用法 话不多说,直接上代码: QHostAddress host ...

  3. 【高德地图】离线地图jsapi2.0 插件引用

    当引用一个插件,但是这个插件没有时会报错: Uncaught TypeError: AMap.ControlBar is not a constructor 这里引用了罗盘这个插件 这时候需要翻看高德 ...

  4. C# 中比较实用的关键字,基础高频面试题!

    前言 在C#编程中关键字是构建逻辑和实现功能的基石,它承载着编程语言的语法规则和编程智慧.熟练掌握这些基础高频关键字对提升编程能力和面试表现至关重要,它们是日常开发和解决复杂问题的关键. DotNet ...

  5. Sql 字符串截取

    注意 不同数据库内置函数名称或有差异,可参考 1.从左至右截取 ①使用left()函数可以从左至右对字符串进行截取 语法:LEFT(str,length) str是要进行截取的字符串,length是要 ...

  6. Content-Encoding:br 是一种什么编码格式?

    一.前言 在之前测试HTTP应答的压缩过程中无意间发现在Google浏览器下出现了 Content-Encoding:br 这种的编码格式,当时我就纳闷了,前面不是一直在研究GZip压缩吗?br压缩又 ...

  7. Oracle DB 关于CONNECT、RESOURCE 和DBA 角色权限

    授予角色的语法: grant <object/system privilege> to <role name>; 一般情况下,在新建数据库用户后,都会习惯性的给用户授权CONN ...

  8. 使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录

    使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录 功能概述 克魔助手无需越狱即可访问iOS上各个应用程序的历史记录,包括: 最近几个月的app的详细启动时间记录,结束时间,app使用的硬件组 ...

  9. pdf和图片的处理一记

    python是非常好用的一门语言,因为它有很多别人封装好底层逻辑的库,我们只需要用简单的函数调用或者经过并不复杂的初始化过程即可.最近要投递简历,所以在处理简历的时候遇到一个问题,就是生成了一份pdf ...

  10. BuildAssetBundleOption.DisableWriteTypeTree和粒度问题