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

@ -36,7 +36,7 @@ export interface IUCSGridConfig extends IBaseOption
export class UserConfig implements IConfigStore export class UserConfig implements IConfigStore
{ {
private readonly _version = 26; //🌟🌟每次更新必须向上添加一次版本号🌟🌟 private readonly _version = 27; //🌟🌟每次更新必须向上添加一次版本号🌟🌟
_renderType: RenderType = RenderType.Wireframe; _renderType: RenderType = RenderType.Wireframe;
@observable maxSize: IMaxSizeProps = { @observable maxSize: IMaxSizeProps = {
isShow: false, isShow: false,
@ -138,6 +138,7 @@ export class UserConfig implements IConfigStore
}; };
@observable isOpenAxisSwitch: boolean = true; @observable isOpenAxisSwitch: boolean = true;
@observable isOpenCameraSetting: boolean = true; @observable isOpenCameraSetting: boolean = true;
@observable dxfImportBlock: boolean = false; //DWG/DXF 导入时不导入块实体
constructor() constructor()
{ {
@ -262,6 +263,7 @@ export class UserConfig implements IConfigStore
UCSGridConfig: toJS(this.UCSGridConfig), UCSGridConfig: toJS(this.UCSGridConfig),
isOpenAxisSwitch: this.isOpenAxisSwitch, isOpenAxisSwitch: this.isOpenAxisSwitch,
isOpenCameraSetting: this.isOpenCameraSetting, isOpenCameraSetting: this.isOpenCameraSetting,
dxfImportBlock: this.dxfImportBlock
} }
}; };
} }
@ -381,6 +383,10 @@ export class UserConfig implements IConfigStore
this.isOpenAxisSwitch = config.option.isOpenAxisSwitch; this.isOpenAxisSwitch = config.option.isOpenAxisSwitch;
this.isOpenCameraSetting = config.option.isOpenCameraSetting; 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 { DimConfigPanel } from "./DimConfigPanel";
import { DisplayConfigPanel } from "./DisplayConfigPanel"; import { DisplayConfigPanel } from "./DisplayConfigPanel";
import { DrawConfigPanel } from "./DrawConfigPanel"; import { DrawConfigPanel } from "./DrawConfigPanel";
import { FileConfigPanel } from "./FileConfigPanel";
import { SystemConfigPanel } from "./SystemConfig"; import { SystemConfigPanel } from "./SystemConfig";
import { TextConfigPanel } from "./TextConfigPanel"; import { TextConfigPanel } from "./TextConfigPanel";
@ -234,7 +235,7 @@ export class ConfigDialog extends React.Component<{ store: ConfigStore; selected
<span>{this._curFileTitle}</span> <span>{this._curFileTitle}</span>
</Card> </Card>
<Tabs id="TabsOption" selectedTabId={this._selectedTabId} onChange={e => this._selectedTabId = e as EOptionTabId}> <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.Show} title="显示" panel={<DisplayConfigPanel store={store} />} />
<Tab id={EOptionTabId.Sys} title="系统" panel={<SystemConfigPanel />} /> <Tab id={EOptionTabId.Sys} title="系统" panel={<SystemConfigPanel />} />
<Tab id={EOptionTabId.Draw} title="绘图" panel={<DrawConfigPanel store={store} />} /> <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