使用酒格模板来绘制酒格

pull/457/MERGE
ChenX 5 years ago
parent 33e64f664c
commit 353a2f2b2f

@ -1,9 +1,12 @@
import { Command } from "../../Editor/CommandMachine";
import { PointSelectSpaceClamp } from "../../Geometry/SpaceParse/PointSelectSpaceClamp";
import { DrawObliqueWineRackTool } from "./DrawObliqueWineRackTool";
import { DrawUprightWineRackTool } from "./DrawUprightWineRackTool";
import { app } from "../../ApplicationServices/Application"; import { app } from "../../ApplicationServices/Application";
import { PositioningClampSpace } from "../../DatabaseServices/Template/Positioning/PositioningClampSpace";
import { GetDeepestTemplate } from "../../DatabaseServices/Template/TempateUtils";
import { TemplateRecord } from "../../DatabaseServices/Template/TemplateRecord";
import { TemplateWineRackRecord } from "../../DatabaseServices/Template/TemplateWineRackRecord";
import { Command } from "../../Editor/CommandMachine";
import { userConfig } from "../../Editor/UserConfig"; import { userConfig } from "../../Editor/UserConfig";
import { ClampSpaceParse } from "../../Geometry/SpaceParse/ClampSpaceParse";
import { PointSelectSpaceClamp } from "../../Geometry/SpaceParse/PointSelectSpaceClamp";
import { userConfigStore } from "../../UI/Store/UserConfigStore"; import { userConfigStore } from "../../UI/Store/UserConfigStore";
export class DrawWineRack implements Command export class DrawWineRack implements Command
@ -17,25 +20,31 @@ export class DrawWineRack implements Command
if (!userConfig.winerackConfig) if (!userConfig.winerackConfig)
await userConfigStore.InitWinerackConfig(); await userConfigStore.InitWinerackConfig();
let wineRack = new TemplateWineRackRecord().InitBaseParams();
Object.assign(wineRack.option, userConfig.winerackConfig);
app.Database.TemplateTable.Append(wineRack);
let space = selectSpace.SpaceParse; let space = selectSpace.SpaceParse;
const tool = DrawUprightWineRackTool.GetInstance() as DrawUprightWineRackTool;
tool.Parse(space, userConfig.winerackConfig); let templateSource: TemplateRecord = GetDeepestTemplate(space.Boards);
tool.boardlist.forEach(b => app.Database.ModelSpace.Append(b)); if (templateSource)
} templateSource.Children.push(wineRack.Id);
}
export class DrawWineRack2 implements Command if (space instanceof ClampSpaceParse)
{ {
async exec() let positioning = new PositioningClampSpace();
positioning.FromSpaceParse(space);
wineRack.Positioning = positioning;
await wineRack.UpdateTemplateTree();
}
else
{ {
let selectSpace = new PointSelectSpaceClamp(); wineRack.LParam.expr = space.Size.x;
await selectSpace.Select(); wineRack.WParam.expr = space.Size.y;
if (!selectSpace.ParseOK) wineRack.HParam.expr = space.Size.z;
return;
if (!userConfig.winerackConfig) await wineRack.UpdateTemplateTree();
await userConfigStore.InitWinerackConfig(); }
let space = selectSpace.SpaceParse;
const tool = DrawObliqueWineRackTool.GetInstance() as DrawObliqueWineRackTool;
tool.Parse(space, userConfig.winerackConfig);
tool.boardlist.forEach(b => app.Database.ModelSpace.Append(b));
} }
} }

@ -1,5 +1,7 @@
import { Vector3 } from "three"; import { Vector3 } from "three";
import { DrawObliqueWineRackTool } from "../../Add-on/DrawWineRack/DrawObliqueWineRackTool"; import { DrawObliqueWineRackTool } from "../../Add-on/DrawWineRack/DrawObliqueWineRackTool";
import { DrawUprightWineRackTool } from "../../Add-on/DrawWineRack/DrawUprightWineRackTool";
import { DrawWineRackTool } from "../../Add-on/DrawWineRack/DrawWinRackTool";
import { app } from "../../ApplicationServices/Application"; import { app } from "../../ApplicationServices/Application";
import { Box3Ext } from "../../Geometry/Box"; import { Box3Ext } from "../../Geometry/Box";
import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse"; import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse";
@ -58,7 +60,11 @@ export class TemplateWineRackRecord extends TemplateRecord
{ {
await super.Update(); await super.Update();
let wineRack = DrawObliqueWineRackTool.GetInstance() as DrawObliqueWineRackTool; let wineRack: DrawWineRackTool;
if (this.option.type === EWineRackType.Oblique)
wineRack = DrawObliqueWineRackTool.GetInstance() as DrawObliqueWineRackTool;
else
wineRack = DrawUprightWineRackTool.GetInstance() as DrawUprightWineRackTool;
let brs: Board[] = []; let brs: Board[] = [];
if (this.Positioning && this.Positioning instanceof PositioningClampSpace) if (this.Positioning && this.Positioning instanceof PositioningClampSpace)
@ -66,6 +72,14 @@ export class TemplateWineRackRecord extends TemplateRecord
brs = this.Positioning.Objects.map(id => id.Object as Board); brs = this.Positioning.Objects.map(id => id.Object as Board);
} }
if (brs.length === 0)
{
if (this.Objects.length > 0)
brs.push(this.Objects[0].Object as Board);
else
brs.push(new Board());
}
let space = new ISpaceParse(brs, this._CacheSpaceCS); let space = new ISpaceParse(brs, this._CacheSpaceCS);
space.ParseOK = true; space.ParseOK = true;
space.SpaceBox = new Box3Ext(new Vector3(), this._CacheSpaceSize); space.SpaceBox = new Box3Ext(new Vector3(), this._CacheSpaceSize);

@ -1,6 +1,7 @@
import { Vector3 } from 'three'; import { Vector3 } from 'three';
import { AddPtOnBoard, DeletePtOnBoard } from '../Add-on/AddPtOnBoard'; import { AddPtOnBoard, DeletePtOnBoard } from '../Add-on/AddPtOnBoard';
import { Command_Array } from '../Add-on/Array'; import { Command_Array } from '../Add-on/Array';
import { BatchModify } from '../Add-on/Batch/BatchModifySealOrDrill';
import { BoardBatchCurtail } from '../Add-on/BoardBatchCurtail'; import { BoardBatchCurtail } from '../Add-on/BoardBatchCurtail';
import { LinearCutting } from '../Add-on/BoardCutting/LinearCutting'; import { LinearCutting } from '../Add-on/BoardCutting/LinearCutting';
import { NonAssociativeCutting } from '../Add-on/BoardCutting/NonAssociativeCutting'; import { NonAssociativeCutting } from '../Add-on/BoardCutting/NonAssociativeCutting';
@ -17,6 +18,7 @@ import { Command_Copy } from '../Add-on/Copy';
import { CopyClip } from '../Add-on/CopyClip'; import { CopyClip } from '../Add-on/CopyClip';
import { Command_CopyPoint } from '../Add-on/CopyPoint'; import { Command_CopyPoint } from '../Add-on/CopyPoint';
import { CustomUcs } from '../Add-on/CostumUCS'; import { CustomUcs } from '../Add-on/CostumUCS';
import { DeleteCurve } from '../Add-on/DeleteCurve';
import { CMD_Divide } from '../Add-on/Divide'; import { CMD_Divide } from '../Add-on/Divide';
import { DrawArc } from '../Add-on/DrawArc'; import { DrawArc } from '../Add-on/DrawArc';
import { DrawBehindBoard } from '../Add-on/DrawBoard/DrawBehindBoard'; import { DrawBehindBoard } from '../Add-on/DrawBoard/DrawBehindBoard';
@ -34,14 +36,17 @@ import { DrawCircle } from "../Add-on/DrawCircle";
import { DrawCylineder } from '../Add-on/DrawCylinder'; import { DrawCylineder } from '../Add-on/DrawCylinder';
import { Command_AutoDimBrs } from '../Add-on/DrawDim/AutoDimBrs'; import { Command_AutoDimBrs } from '../Add-on/DrawDim/AutoDimBrs';
import { Command_DimContinue } from '../Add-on/DrawDim/Command_DimContinue'; import { Command_DimContinue } from '../Add-on/DrawDim/Command_DimContinue';
import { DeleteDim } from '../Add-on/DrawDim/DeleteDim';
import { Command_Draw2LineAngularDim } from '../Add-on/DrawDim/Draw2LineAngularDim'; import { Command_Draw2LineAngularDim } from '../Add-on/DrawDim/Draw2LineAngularDim';
import { DrawAlignedDimension } from '../Add-on/DrawDim/DrawAlignedDimension'; import { DrawAlignedDimension } from '../Add-on/DrawDim/DrawAlignedDimension';
import { DrawDiameterDim } from '../Add-on/DrawDim/DrawDiameterDim'; import { DrawDiameterDim } from '../Add-on/DrawDim/DrawDiameterDim';
import { DrawLinearDimension } from '../Add-on/DrawDim/DrawLinearDimension'; import { DrawLinearDimension } from '../Add-on/DrawDim/DrawLinearDimension';
import { DrawRadiusDim } from '../Add-on/DrawDim/DrawRadiusDim'; import { DrawRadiusDim } from '../Add-on/DrawDim/DrawRadiusDim';
import { Command_FastDimBrs } from '../Add-on/DrawDim/FastDim';
import { DeleteDrill } from '../Add-on/DrawDrilling/DeleteDrill'; import { DeleteDrill } from '../Add-on/DrawDrilling/DeleteDrill';
import { DrawDrilling } from '../Add-on/DrawDrilling/DrawDrilling'; import { DrawDrilling } from '../Add-on/DrawDrilling/DrawDrilling';
import { DrillConfig } from '../Add-on/DrawDrilling/DrillConfig'; import { DrillConfig } from '../Add-on/DrawDrilling/DrillConfig';
import { ReverseDrillFace } from '../Add-on/DrawDrilling/ReverseDrillFace';
import { DrawEllipse } from '../Add-on/DrawEllipse'; import { DrawEllipse } from '../Add-on/DrawEllipse';
import { DrawFloor } from '../Add-on/DrawFloor'; import { DrawFloor } from '../Add-on/DrawFloor';
import { DrawGripStretch } from '../Add-on/DrawGripStretch'; import { DrawGripStretch } from '../Add-on/DrawGripStretch';
@ -59,7 +64,7 @@ import { DrawSpline } from '../Add-on/DrawSpline';
import { DrawRegTest } from '../Add-on/DrawTestReg'; import { DrawRegTest } from '../Add-on/DrawTestReg';
import { DrawText } from '../Add-on/DrawText'; import { DrawText } from '../Add-on/DrawText';
import { ConfigureWineRack } from '../Add-on/DrawWineRack/ConfigureWineRack'; import { ConfigureWineRack } from '../Add-on/DrawWineRack/ConfigureWineRack';
import { DrawWineRack, DrawWineRack2 } from '../Add-on/DrawWineRack/DrawWineRack'; import { DrawWineRack } from '../Add-on/DrawWineRack/DrawWineRack';
import { DrawCircle0 } from '../Add-on/DrawZeroCircle'; import { DrawCircle0 } from '../Add-on/DrawZeroCircle';
import { Command_DXFImport } from '../Add-on/DXFLoad'; import { Command_DXFImport } from '../Add-on/DXFLoad';
import { Entsel } from '../Add-on/Entsel'; import { Entsel } from '../Add-on/Entsel';
@ -100,6 +105,7 @@ import { Sweep } from '../Add-on/Sweep';
import { Command_SwitchCamera } from '../Add-on/SwitchCamera'; import { Command_SwitchCamera } from '../Add-on/SwitchCamera';
import { CMD_Conceptual, CMD_Physical, CMD_Wireframe } from '../Add-on/SwitchVisualStyles'; import { CMD_Conceptual, CMD_Physical, CMD_Wireframe } from '../Add-on/SwitchVisualStyles';
import { DrawTangentLine } from '../Add-on/Tangent'; import { DrawTangentLine } from '../Add-on/Tangent';
import { ShowTemplate } from '../Add-on/Template/ShowTemplate';
import { ShowTopLine } from '../Add-on/Template/ShowTopline'; import { ShowTopLine } from '../Add-on/Template/ShowTopline';
// import { DrawFloor } from '../Add-on/DrawFloor'; // import { DrawFloor } from '../Add-on/DrawFloor';
// import { RevTarget, SaveTarget } from '../Add-on/RenderTarget'; // import { RevTarget, SaveTarget } from '../Add-on/RenderTarget';
@ -108,6 +114,7 @@ import { Test } from '../Add-on/testEntity/test';
import { Command_TestBox } from '../Add-on/testEntity/TestBox'; import { Command_TestBox } from '../Add-on/testEntity/TestBox';
import { TestCollision } from '../Add-on/testEntity/testCollision'; import { TestCollision } from '../Add-on/testEntity/testCollision';
import { TestTargeOnCurve } from '../Add-on/testEntity/TestCurve'; import { TestTargeOnCurve } from '../Add-on/testEntity/TestCurve';
import { TestFillet } from '../Add-on/testEntity/TestFilletCode';
import { TestFb } from '../Add-on/TestFb'; import { TestFb } from '../Add-on/TestFb';
import { Command_TestPointPickParse } from '../Add-on/TestPointPickParse'; import { Command_TestPointPickParse } from '../Add-on/TestPointPickParse';
import { Command_Trim } from '../Add-on/Trim'; import { Command_Trim } from '../Add-on/Trim';
@ -119,13 +126,6 @@ import { CommandServer } from '../DatabaseServices/CommandServer';
import { AutoTempateSizeAction } from '../DatabaseServices/Template/TemplateTest'; import { AutoTempateSizeAction } from '../DatabaseServices/Template/TemplateTest';
import { ICommand } from '../UI/Components/CommandPanel/CommandList'; import { ICommand } from '../UI/Components/CommandPanel/CommandList';
import { commandMachine } from './CommandMachine'; import { commandMachine } from './CommandMachine';
import { BatchModify } from '../Add-on/Batch/BatchModifySealOrDrill';
import { ShowTemplate } from '../Add-on/Template/ShowTemplate';
import { ReverseDrillFace } from '../Add-on/DrawDrilling/ReverseDrillFace';
import { DeleteDim } from '../Add-on/DrawDim/DeleteDim';
import { Command_FastDimBrs } from '../Add-on/DrawDim/FastDim';
import { TestFillet } from '../Add-on/testEntity/TestFilletCode';
import { DeleteCurve } from '../Add-on/DeleteCurve';
export function registerCommand() export function registerCommand()
@ -299,7 +299,6 @@ export function registerCommand()
//酒格 //酒格
commandMachine.RegisterCommand("winerack", new ConfigureWineRack()); commandMachine.RegisterCommand("winerack", new ConfigureWineRack());
commandMachine.RegisterCommand("drawwinerack", new DrawWineRack()); commandMachine.RegisterCommand("drawwinerack", new DrawWineRack());
commandMachine.RegisterCommand("drawwinerack2", new DrawWineRack2());
commandMachine.RegisterCommand("testfb", new TestFb()); commandMachine.RegisterCommand("testfb", new TestFb());

@ -36,10 +36,7 @@ export class WineRackModal extends React.Component<{ store?: WineRackStore }, {}
{ {
app.Editor.ModalManage.Clear(); app.Editor.ModalManage.Clear();
userConfig.winerackConfig = this.props.store.m_Option; userConfig.winerackConfig = this.props.store.m_Option;
if (this.props.store.m_Option.type === EWineRackType.Upright)
commandMachine.ExecCommand("DRAWWINERACK"); commandMachine.ExecCommand("DRAWWINERACK");
else
commandMachine.ExecCommand("DRAWWINERACK2");
} }
} }
private checkDisabled = (k: string) => private checkDisabled = (k: string) =>

Loading…
Cancel
Save