!1915 功能:DWG/DXF 导入时不导入块实体

pull/1875/MERGE
黄诗津 2 years ago committed by ChenX
parent 633571be36
commit a2f4e4b102

@ -13,6 +13,7 @@ import { Point } from "../../DatabaseServices/Entity/Point";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { SmartPolylineSimply2Polyline } from "../../DatabaseServices/SplineConver2Polyline";
import { Text, TextAligen } from "../../DatabaseServices/Text/Text";
import { userConfig } from "../../Editor/UserConfig";
import { angle, AsVector2, AsVector3, equaln, equalv3, ZAxis } from "../../Geometry/GeUtils";
import { Vec3 } from "../../Geometry/IVec3";
import { Orbit } from "../../Geometry/Orbit";
@ -285,6 +286,8 @@ export function Conver2WebCADEntity(en: IEntity, doc: IDxf, ents: Entity[]): voi
ents.push(wel);
}
else if (en.type === "INSERT")
{
if (!userConfig.dxfImportBlock)
{
let blkRef = en as IInsertEntity;
let mtx = blkRef.extrusionDirection ? GetMatrix4(en) : new Matrix4;
@ -313,6 +316,7 @@ export function Conver2WebCADEntity(en: IEntity, doc: IDxf, ents: Entity[]): voi
}
}
}
}
else if (en.type === "POINT")
{
let ien = en as IPointEntity;

@ -36,7 +36,7 @@ export interface IUCSGridConfig extends IBaseOption
export class UserConfig implements IConfigStore
{
private readonly _version = 26; //🌟🌟每次更新必须向上添加一次版本号🌟🌟
private readonly _version = 27; //🌟🌟每次更新必须向上添加一次版本号🌟🌟
_renderType: RenderType = RenderType.Wireframe;
@observable maxSize: IMaxSizeProps = {
isShow: false,
@ -138,6 +138,7 @@ export class UserConfig implements IConfigStore
};
@observable isOpenAxisSwitch: boolean = true;
@observable isOpenCameraSetting: boolean = true;
@observable dxfImportBlock: boolean = false; //DWG/DXF 导入时不导入块实体
constructor()
{
@ -262,6 +263,7 @@ export class UserConfig implements IConfigStore
UCSGridConfig: toJS(this.UCSGridConfig),
isOpenAxisSwitch: this.isOpenAxisSwitch,
isOpenCameraSetting: this.isOpenCameraSetting,
dxfImportBlock: this.dxfImportBlock
}
};
}
@ -381,6 +383,10 @@ export class UserConfig implements IConfigStore
this.isOpenAxisSwitch = config.option.isOpenAxisSwitch;
this.isOpenCameraSetting = config.option.isOpenCameraSetting;
}
if (config.option.version > 26)
{
this.dxfImportBlock = config.option.dxfImportBlock;
}
}
}

@ -21,6 +21,7 @@ import { ChaiDanPanel } from "./ChaiDanModal";
import { DimConfigPanel } from "./DimConfigPanel";
import { DisplayConfigPanel } from "./DisplayConfigPanel";
import { DrawConfigPanel } from "./DrawConfigPanel";
import { FileConfigPanel } from "./FileConfigPanel";
import { SystemConfigPanel } from "./SystemConfig";
import { TextConfigPanel } from "./TextConfigPanel";
@ -234,7 +235,7 @@ export class ConfigDialog extends React.Component<{ store: ConfigStore; selected
<span>{this._curFileTitle}</span>
</Card>
<Tabs id="TabsOption" selectedTabId={this._selectedTabId} onChange={e => this._selectedTabId = e as EOptionTabId}>
<Tab id={EOptionTabId.File} title="文件" />
<Tab id={EOptionTabId.File} title="文件" panel={<FileConfigPanel />} />
<Tab id={EOptionTabId.Show} title="显示" panel={<DisplayConfigPanel store={store} />} />
<Tab id={EOptionTabId.Sys} title="系统" panel={<SystemConfigPanel />} />
<Tab id={EOptionTabId.Draw} title="绘图" panel={<DrawConfigPanel store={store} />} />

@ -0,0 +1,21 @@
import { Card, Checkbox } from "@blueprintjs/core";
import { observer } from "mobx-react";
import React from "react";
import { userConfig } from "../../../../Editor/UserConfig";
@observer
export class FileConfigPanel extends React.Component
{
render()
{
return (
<Card>
<Checkbox
label="DWG/DXF 导入时不导入块实体"
checked={userConfig.dxfImportBlock}
onChange={() => { userConfig.dxfImportBlock = !userConfig.dxfImportBlock; }}
/>
</Card>
);
}
}
Loading…
Cancel
Save