README
It is a fork of https://github.com/vagran/dxf-viewer. We need it to make some improvements over the original code:
- Support viewports
- Switch layouts
- Fixed some Insert Entity position rotation bugs
https://github.com/vagran/dxf-viewer is a fork of https://github.com/gdsestimating/dxf-parser, and make some improvements over the original code:
- Support additional DXF groups.
- Stream parsing - parse text as it is fetched without buffering. This allows parsing huge files with limited memory consumption.
- Result filtering - do not include data which is not needed on further processing steps, filtering it on-the-fly, thus minimizing memory consumption even more.
- Additional features support (e.g. hatching).
使用方法
import {DXFViewer} from 'cbim-dxf-viewer'
// ...
// 初始化 dxf 容器
let viewer = new DXFViewer(
// dom
document.getElementById('xxx'),
// options
{
// 自动调整大小
autoResize: true,
// 背景颜色
clearColor: '#000',
})
// 监听事件
viewer.Subscribe('loaded', data => {
// 监听加载完成事件,e.g. 在此处结束loading、获取图层等
// ....
})
// 业务开始
viewer.Load({
url: 'xxx.dxf',
// 所需字体
fonts: ['fangsong.ttf', 'changfangsong.ttf', '...'],
// 进度
processCbk: (type, total, ready) => {
// 进度条数值变化等
}
})
// ...
// 页面关闭前手动销毁以释放资源
viewer.Destroy()
API
方法 | 参数 | 描述 |
---|---|---|
GetLayouts | - | 获取 layout列表 |
SetLayoutView | name: string | 切换 layout |
GetLayers | - | 获取图层列表 |
ShowLayer | name:string show: boolean |
获取图层列表 |
SetSelectable | value: boolean | 开启/关闭 选择(高亮)构件功能 |