|
|
@ -1,23 +1,23 @@
|
|
|
|
import React from "react";
|
|
|
|
import { Button, Card, Checkbox, Classes, Divider, Intent, Tooltip } from "@blueprintjs/core";
|
|
|
|
import { app } from "../../../ApplicationServices/Application";
|
|
|
|
|
|
|
|
import { KeyBoard } from "../../../Common/KeyEnum";
|
|
|
|
|
|
|
|
import { Classes, Card, Intent, Button, Checkbox, Divider } from "@blueprintjs/core";
|
|
|
|
|
|
|
|
import { ModalHeader, ModalFooter } from "../../../UI/Components/Modal/ModalContainer";
|
|
|
|
|
|
|
|
import { UserConfig, IConfigOption } from "../../../UI/Components/Board/UserConfig";
|
|
|
|
|
|
|
|
import { IConfigStore } from "../../../UI/Store/BoardStore";
|
|
|
|
|
|
|
|
import { BoardModalType } from "../../../UI/Components/Board/BoardModal";
|
|
|
|
|
|
|
|
import { observable, toJS } from "mobx";
|
|
|
|
import { observable, toJS } from "mobx";
|
|
|
|
import { observer } from "mobx-react";
|
|
|
|
import { observer } from "mobx-react";
|
|
|
|
import { safeEval } from "../../../Common/eval";
|
|
|
|
import React from "react";
|
|
|
|
import '../Modals/Curve2Rec.less';
|
|
|
|
|
|
|
|
import { begin } from "xaop";
|
|
|
|
import { begin } from "xaop";
|
|
|
|
import { ToasterInput, ToasterValueError } from "../../../UI/Components/Toaster";
|
|
|
|
import { app } from "../../../ApplicationServices/Application";
|
|
|
|
import { CheckObjectType } from "../../../Common/CheckoutVaildValue";
|
|
|
|
import { CheckObjectType } from "../../../Common/CheckoutVaildValue";
|
|
|
|
import { IBaseOption, IUiOption } from "../../../UI/Store/BoardInterface";
|
|
|
|
|
|
|
|
import { DataAdapter } from "../../../Common/DataAdapter";
|
|
|
|
import { DataAdapter } from "../../../Common/DataAdapter";
|
|
|
|
import { DefaultCurve2RecOption } from "../../../Editor/DefaultConfig";
|
|
|
|
import { safeEval } from "../../../Common/eval";
|
|
|
|
|
|
|
|
import { KeyBoard } from "../../../Common/KeyEnum";
|
|
|
|
import { Singleton } from "../../../Common/Singleton";
|
|
|
|
import { Singleton } from "../../../Common/Singleton";
|
|
|
|
|
|
|
|
import { DefaultCurve2RecOption } from "../../../Editor/DefaultConfig";
|
|
|
|
|
|
|
|
import { BoardModalType } from "../../../UI/Components/Board/BoardModal";
|
|
|
|
|
|
|
|
import { IConfigOption, UserConfig } from "../../../UI/Components/Board/UserConfig";
|
|
|
|
import { GetCompoentObjectIdString } from "../../../UI/Components/ComponentObjectId";
|
|
|
|
import { GetCompoentObjectIdString } from "../../../UI/Components/ComponentObjectId";
|
|
|
|
|
|
|
|
import { ModalFooter, ModalHeader } from "../../../UI/Components/Modal/ModalContainer";
|
|
|
|
|
|
|
|
import { ToasterInput, ToasterValueError } from "../../../UI/Components/Toaster";
|
|
|
|
|
|
|
|
import { IBaseOption, IUiOption } from "../../../UI/Store/BoardInterface";
|
|
|
|
|
|
|
|
import { IConfigStore } from "../../../UI/Store/BoardStore";
|
|
|
|
|
|
|
|
import '../Modals/Curve2Rec.less';
|
|
|
|
|
|
|
|
|
|
|
|
export interface Curve2RecOption extends IBaseOption
|
|
|
|
export interface Curve2RecOption extends IBaseOption
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -26,6 +26,8 @@ export interface Curve2RecOption extends IBaseOption
|
|
|
|
width: number; //保留轮廓的宽度
|
|
|
|
width: number; //保留轮廓的宽度
|
|
|
|
isAnaly: boolean; //分析相交区域
|
|
|
|
isAnaly: boolean; //分析相交区域
|
|
|
|
gap: number; //最小间隙
|
|
|
|
gap: number; //最小间隙
|
|
|
|
|
|
|
|
forceUseUCS: boolean;//强制使用UCS坐标系
|
|
|
|
|
|
|
|
ForceUseFrontViewCS: boolean;//强制使用前视图坐标系
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export class Curve2RecModalStore extends Singleton implements IConfigStore
|
|
|
|
export class Curve2RecModalStore extends Singleton implements IConfigStore
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -46,7 +48,9 @@ export class Curve2RecModalStore extends Singleton implements IConfigStore
|
|
|
|
isSaveSmall: true,
|
|
|
|
isSaveSmall: true,
|
|
|
|
width: 90,
|
|
|
|
width: 90,
|
|
|
|
isAnaly: true,
|
|
|
|
isAnaly: true,
|
|
|
|
gap: 3
|
|
|
|
gap: 3,
|
|
|
|
|
|
|
|
forceUseUCS: false,
|
|
|
|
|
|
|
|
ForceUseFrontViewCS: false,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
if (this.uiOption)
|
|
|
|
if (this.uiOption)
|
|
|
|
Object.assign(this.uiOption, DataAdapter.ConvertUIData(this.option));
|
|
|
|
Object.assign(this.uiOption, DataAdapter.ConvertUIData(this.option));
|
|
|
@ -120,8 +124,7 @@ export class Curve2RecModal extends React.Component<{ store: Curve2RecModalStore
|
|
|
|
checked={option.isSaveMax}
|
|
|
|
checked={option.isSaveMax}
|
|
|
|
label="保留最大轮廓"
|
|
|
|
label="保留最大轮廓"
|
|
|
|
onChange={() => { this.props.store.option.isSaveMax = !this.props.store.option.isSaveMax; }}
|
|
|
|
onChange={() => { this.props.store.option.isSaveMax = !this.props.store.option.isSaveMax; }}
|
|
|
|
>
|
|
|
|
/>
|
|
|
|
</Checkbox>
|
|
|
|
|
|
|
|
<div className="checkbox-input-group">
|
|
|
|
<div className="checkbox-input-group">
|
|
|
|
<Checkbox checked={option.isSaveSmall} onChange={() => { this.props.store.option.isSaveSmall = !this.props.store.option.isSaveSmall; }}>
|
|
|
|
<Checkbox checked={option.isSaveSmall} onChange={() => { this.props.store.option.isSaveSmall = !this.props.store.option.isSaveSmall; }}>
|
|
|
|
</Checkbox>
|
|
|
|
</Checkbox>
|
|
|
@ -172,6 +175,22 @@ export class Curve2RecModal extends React.Component<{ store: Curve2RecModalStore
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<Tooltip content="如果你的图纸c2r失败了,可以试试这个!(强制用当前坐标系的平面来转换)">
|
|
|
|
|
|
|
|
<Checkbox
|
|
|
|
|
|
|
|
disabled={option.ForceUseFrontViewCS}
|
|
|
|
|
|
|
|
checked={option.forceUseUCS}
|
|
|
|
|
|
|
|
label="强制使用UCS坐标系"
|
|
|
|
|
|
|
|
onChange={() => { this.props.store.option.forceUseUCS = !this.props.store.option.forceUseUCS; }}
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</Tooltip>
|
|
|
|
|
|
|
|
<div></div>
|
|
|
|
|
|
|
|
<Tooltip content="如果你的线在前视图上,并且转换失败了,可以尝试一下这个!(强制用前视图的平面来转换)">
|
|
|
|
|
|
|
|
<Checkbox
|
|
|
|
|
|
|
|
checked={option.ForceUseFrontViewCS}
|
|
|
|
|
|
|
|
label="强制使用前视图坐标系"
|
|
|
|
|
|
|
|
onChange={() => { this.props.store.option.ForceUseFrontViewCS = !this.props.store.option.ForceUseFrontViewCS; }}
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</Tooltip>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<ModalFooter hasConfig={false} style={{ display: "flex", flexDirection: "column" }}>
|
|
|
|
<ModalFooter hasConfig={false} style={{ display: "flex", flexDirection: "column" }}>
|
|
|
|
{/* 配置 */}
|
|
|
|
{/* 配置 */}
|
|
|
|