tkela二次开发之lay文件解析
在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文件解析的更多相关文章
- [置顶] Android开发之XML文件的解析
Android系统开发之XML文件的解析 我们知道Http在网络传输中的数据组织方式有三种分别为:XML方式.HTML方式.JSON方式.其中XML为可扩展标记语言,如下: <?xml vers ...
- Nutch 二次开发之parse正文内容
关于nutch的基础知识能够參考lemo的专栏 nutch支持二次开发,为了满足搜索的准确率的问题,考虑只将网页正文的内容提取出来作为索引的内容,相应的是parse_text的数据.我使用的事nutc ...
- EasyNVR、EasyDSS二次开发之:RTMP、HLS流在web页面进行无插件播放示例Demo代码
不管是基于EasyNVR还是EasyDSS,都是支持无插件直播,这也是未来视频直播的一个趋势.对于传统的浏览器插件播放谁用谁知道: 以上是软件自带播放展示 背景需求 对于EasyNVR和EasyDSS ...
- PDMS二次开发之PML开发一些常见查询语句
1.查找session 以及session number var !DBname DBname !db = object db(!DBname) !session = !db.lastsession( ...
- iOS开发之.pch文件初识
pch全称是“precompiled header”,即预编译头文件,自Xcode6诞生之日起,便在Supporting Files文件下消失多年.说起苹果对pch的爱恨情仇,其分析pch的作用便不言 ...
- Android开发之assets文件夹中资源的获取
assets中的文件都是保持原始的文件格式,需要使用AssetManager以字节流的形式读取出来 步骤: 1. 先在Activity里面调用getAssets() 来获取AssetManager引用 ...
- Android开发之R文件丢失
在进行android开发的过程中,不知道怎么回事,代码中出现R代码有红色波浪线了,于是进行了clean,结果还是有红色波浪线,然后就重启了eclipse,重启以后还是这个样子,随后发现工程的R文件丢失 ...
- 李洪强iOS开发之-PCH文件的配置
pch 可以用来存储共享信息,比如设备屏幕的宽度,高度.版本号等等 公用信息 Xcode 老版本会自动为我们创建pch文件,新版本开始不自动创建了,如果需要使用可以自己手动创建 创建完成后可以在里面定 ...
- iOS开发之pch文件
项目的Supporting files文件夹下面有个“工程名-Prefix.pch”文件,也是一个头文件 pch头文件的内容能被项目中的其他所有源文件共享和访问 一般在pch文件中定义一些全局的宏 在 ...
- iOS开发之zip文件解压
今天给大家分享zip解压到指定目录 首先需要下载ZipArchive文件 下载地址:https://pan.baidu.com/s/1S6qYicoVr3M3hI0M1EW2Bw 将下载的文件导入工程 ...
随机推荐
- C#枚举帮助EnumHelper
1 public class EnumHelper 2 { 3 #region 获取枚举 4 public static List<EnumValue> GetEnumList(Type ...
- Qt 获取本机ipv4地址
Qt 获取本机本地网卡的IPv4地址 本文介绍怎么用Qt去获取本机的ipv4地址 文章目录 Qt 获取本机本地网卡的IPv4地址 用法 用法 话不多说,直接上代码: QHostAddress host ...
- 【高德地图】离线地图jsapi2.0 插件引用
当引用一个插件,但是这个插件没有时会报错: Uncaught TypeError: AMap.ControlBar is not a constructor 这里引用了罗盘这个插件 这时候需要翻看高德 ...
- C# 中比较实用的关键字,基础高频面试题!
前言 在C#编程中关键字是构建逻辑和实现功能的基石,它承载着编程语言的语法规则和编程智慧.熟练掌握这些基础高频关键字对提升编程能力和面试表现至关重要,它们是日常开发和解决复杂问题的关键. DotNet ...
- Sql 字符串截取
注意 不同数据库内置函数名称或有差异,可参考 1.从左至右截取 ①使用left()函数可以从左至右对字符串进行截取 语法:LEFT(str,length) str是要进行截取的字符串,length是要 ...
- Content-Encoding:br 是一种什么编码格式?
一.前言 在之前测试HTTP应答的压缩过程中无意间发现在Google浏览器下出现了 Content-Encoding:br 这种的编码格式,当时我就纳闷了,前面不是一直在研究GZip压缩吗?br压缩又 ...
- Oracle DB 关于CONNECT、RESOURCE 和DBA 角色权限
授予角色的语法: grant <object/system privilege> to <role name>; 一般情况下,在新建数据库用户后,都会习惯性的给用户授权CONN ...
- 使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录
使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录 功能概述 克魔助手无需越狱即可访问iOS上各个应用程序的历史记录,包括: 最近几个月的app的详细启动时间记录,结束时间,app使用的硬件组 ...
- pdf和图片的处理一记
python是非常好用的一门语言,因为它有很多别人封装好底层逻辑的库,我们只需要用简单的函数调用或者经过并不复杂的初始化过程即可.最近要投递简历,所以在处理简历的时候遇到一个问题,就是生成了一份pdf ...
- BuildAssetBundleOption.DisableWriteTypeTree和粒度问题