功能:C2R功能添加强制使用坐标系选项

pull/1466/MERGE
ChenX 4 years ago
parent 2b76088d33
commit 7fee8c6cff

@ -51,6 +51,8 @@ export class Command_Curve2Polyline implements Command
this.BreakCurve = store.option.isAnaly;
this.SmallWidth = store.option.width;
this.ExtendsMinDist = store.option.gap;
this.ForceUseFrontViewCS = store.option.ForceUseFrontViewCS;
this.ForceUseUCS = store.option.forceUseUCS;
let ss = await app.Editor.GetSelection({
Msg: "请选择曲线:",
UseSelect: true,
@ -89,7 +91,11 @@ export class Command_Curve2Polyline implements Command
newCurves.push(pl);
}
else
newCurves.push(cu);
{
let ncu = cu.Clone();
newCurves.push(ncu);
OldNewCurvesMap.set(ncu, cu);
}
}
groups = [{ ocs: undefined, cus: newCurves }];
@ -223,7 +229,7 @@ export class Command_Curve2Polyline implements Command
OldNewCurvesMap.set(cloneC, OldNewCurvesMap.get(r.curve));
curves.push(cloneC);
}
const JoinedCurveList: Curve[] = [];
let JoinedCurveList: Curve[] = [];
arrayRemoveDuplicateBySort(curves, (cu1: Curve, cu2: Curve) =>
{
if (cu1.Join(cu2) === Status.True)

@ -1,23 +1,23 @@
import React from "react";
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 { Button, Card, Checkbox, Classes, Divider, Intent, Tooltip } from "@blueprintjs/core";
import { observable, toJS } from "mobx";
import { observer } from "mobx-react";
import { safeEval } from "../../../Common/eval";
import '../Modals/Curve2Rec.less';
import React from "react";
import { begin } from "xaop";
import { ToasterInput, ToasterValueError } from "../../../UI/Components/Toaster";
import { app } from "../../../ApplicationServices/Application";
import { CheckObjectType } from "../../../Common/CheckoutVaildValue";
import { IBaseOption, IUiOption } from "../../../UI/Store/BoardInterface";
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 { 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 { 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
{
@ -26,6 +26,8 @@ export interface Curve2RecOption extends IBaseOption
width: number; //保留轮廓的宽度
isAnaly: boolean; //分析相交区域
gap: number; //最小间隙
forceUseUCS: boolean;//强制使用UCS坐标系
ForceUseFrontViewCS: boolean;//强制使用前视图坐标系
}
export class Curve2RecModalStore extends Singleton implements IConfigStore
{
@ -46,7 +48,9 @@ export class Curve2RecModalStore extends Singleton implements IConfigStore
isSaveSmall: true,
width: 90,
isAnaly: true,
gap: 3
gap: 3,
forceUseUCS: false,
ForceUseFrontViewCS: false,
};
if (this.uiOption)
Object.assign(this.uiOption, DataAdapter.ConvertUIData(this.option));
@ -120,8 +124,7 @@ export class Curve2RecModal extends React.Component<{ store: Curve2RecModalStore
checked={option.isSaveMax}
label="保留最大轮廓"
onChange={() => { this.props.store.option.isSaveMax = !this.props.store.option.isSaveMax; }}
>
</Checkbox>
/>
<div className="checkbox-input-group">
<Checkbox checked={option.isSaveSmall} onChange={() => { this.props.store.option.isSaveSmall = !this.props.store.option.isSaveSmall; }}>
</Checkbox>
@ -172,6 +175,22 @@ export class Curve2RecModal extends React.Component<{ store: Curve2RecModalStore
</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>
<ModalFooter hasConfig={false} style={{ display: "flex", flexDirection: "column" }}>
{/* 配置 */}

Loading…
Cancel
Save