From d6915f79e8129ae1c668488d4c9cd2b6b934b182 Mon Sep 17 00:00:00 2001 From: ChenX Date: Sat, 2 Jan 2021 20:06:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD:Area=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=B0=81=E9=97=AD=E6=9B=B2=E7=BA=BF=E9=9D=A2=E7=A7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/Area.ts | 36 +++++++++++++++++++++++++++++++++++ src/Editor/CommandRegister.ts | 16 +++++++++------- 2 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 src/Add-on/Area.ts diff --git a/src/Add-on/Area.ts b/src/Add-on/Area.ts new file mode 100644 index 000000000..b300c923a --- /dev/null +++ b/src/Add-on/Area.ts @@ -0,0 +1,36 @@ +import { app } from "../ApplicationServices/Application"; +import { Log } from "../Common/Log"; +import { Curve } from "../DatabaseServices/Entity/Curve"; +import { Command } from "../Editor/CommandMachine"; +import { PromptStatus } from "../Editor/PromptResult"; + +export class Command_Area implements Command +{ + async exec() + { + while (true) + { + let enRes = await app.Editor.GetSelection({ + Filter: { + filterFunction: (o, e) => + { + return (e instanceof Curve && e.IsClose); + } + } + }); + if (enRes.Status === PromptStatus.OK) + { + let sum = 0; + for (let c of enRes.SelectSet.SelectEntityList as Curve[]) + { + let length = c.Area * 1e-6; + Log(`${length}平方米`); + sum += length; + } + Log(`总共:${sum}平方米`); + } + else + return; + } + } +} diff --git a/src/Editor/CommandRegister.ts b/src/Editor/CommandRegister.ts index 800cd0678..58b26d729 100644 --- a/src/Editor/CommandRegister.ts +++ b/src/Editor/CommandRegister.ts @@ -2,10 +2,13 @@ import { Vector3 } from "three"; import { Command_999 } from "../Add-on/999"; import { ActicityLayerBoard } from "../Add-on/ActivityLayerBoard"; import { AddPtOnBoard, DeletePtOnBoard } from "../Add-on/AddPtOnBoard"; +import { Command_Area } from "../Add-on/Area"; import { Command_Array } from "../Add-on/Array"; import { AutoHoleFaceSetting } from "../Add-on/AutoHoleFaceSetting"; import { BatchModify } from "../Add-on/Batch/BatchModifySealOrDrill"; +import { FindModeingKnifeRadius } from "../Add-on/Batch/FindModeingKnifes"; import { BoardBatchCurtail } from "../Add-on/BoardBatchCurtail"; +import { CuttingByFace } from "../Add-on/BoardCutting/CuttingByFace"; import { DeleteRelevance } from "../Add-on/BoardCutting/DeleteRelevance"; import { LinearCutting } from "../Add-on/BoardCutting/LinearCutting"; import { NonAssociativeCutting } from "../Add-on/BoardCutting/NonAssociativeCutting"; @@ -44,6 +47,7 @@ import { DrawLeftRight } from "../Add-on/DrawBoard/DrawLeftRightBoard"; import { DrawSingleBoard } from "../Add-on/DrawBoard/DrawSingleBoard"; import { DrawSpecialShapedBoard } from "../Add-on/DrawBoard/DrawSpecialShapedBoard"; import { DrawSpecialShapedBoardByContour } from "../Add-on/DrawBoard/DrawSpecialShapedBoardByContour"; +import { DrawTemplateByImport } from "../Add-on/DrawBoard/DrawTemplateByImport"; import { DrawTopBottomBoard } from "../Add-on/DrawBoard/DrawTopBottomBoard"; import { DrawVerticalBoard } from "../Add-on/DrawBoard/DrawVerticalBoard"; import { EditorBoardTemplate } from '../Add-on/DrawBoard/EditorBoardTempate'; @@ -60,6 +64,8 @@ import { DrawDiameterDim } from "../Add-on/DrawDim/DrawDiameterDim"; import { DrawLinearDimension } from "../Add-on/DrawDim/DrawLinearDimension"; import { DrawRadiusDim } from "../Add-on/DrawDim/DrawRadiusDim"; import { Command_FastDimBrs } from "../Add-on/DrawDim/FastDim"; +import { CheckDrawHole } from "../Add-on/DrawDrilling/CheckDrawHole"; +import { CheckHasHoleBoard } from "../Add-on/DrawDrilling/CheckHasHole"; import { DeleteDrill } from "../Add-on/DrawDrilling/DeleteDrill"; import { DrawDrilling } from "../Add-on/DrawDrilling/DrawDrilling"; import { DrillConfig } from "../Add-on/DrawDrilling/DrillConfig"; @@ -96,7 +102,7 @@ import { Entsel } from "../Add-on/Entsel"; import { Command_Erase } from "../Add-on/Erase"; import { Command_EraseLineAndArc } from "../Add-on/EraseLineAndArc"; import { Command_EraseNoSelect } from "../Add-on/EraseNoSelect"; -import { ChaiDan, ChaiDanJB, ShoWYouHua, Decompose } from "../Add-on/Erp/ErpCommands"; +import { ChaiDan, ChaiDanJB, Decompose, ShoWYouHua } from "../Add-on/Erp/ErpCommands"; import { Command_Esc } from "../Add-on/Esc"; import { Command_Explode } from "../Add-on/Explode"; import { Command_ExplosionMap } from "../Add-on/ExplosionMap"; @@ -141,6 +147,7 @@ import { New, Save, SaveAs, SaveAsBinary } from "../Add-on/Save"; import { Command_Scale } from "../Add-on/Scale"; import { SetSmoothEdge } from "../Add-on/SetSmoothEdge/SetSmoothEdge"; import { SwitchLines } from "../Add-on/ShowLines"; +import { ShowEditorBBS } from "../Add-on/showModal/ShowModal"; import { Command_ShowProcessingGroupModal2 } from "../Add-on/ShowProcessingGroupModal"; import { ShowRecycleBin } from "../Add-on/ShowRecycleBin"; import { Stretch } from "../Add-on/Stretch"; @@ -203,12 +210,6 @@ import { BuyMaterial } from './../Add-on/BuyMaterial'; import { Interfere } from './../Add-on/interfere'; import { ShowKinfeManageModal } from './../Add-on/showModal/ShowKnifeManageModal'; import { commandMachine } from './CommandMachine'; -import { CheckHasHoleBoard } from "../Add-on/DrawDrilling/CheckHasHole"; -import { CheckDrawHole } from "../Add-on/DrawDrilling/CheckDrawHole"; -import { FindModeingKnifeRadius } from "../Add-on/Batch/FindModeingKnifes"; -import { ShowEditorBBS } from "../Add-on/showModal/ShowModal"; -import { CuttingByFace } from "../Add-on/BoardCutting/CuttingByFace"; -import { DrawTemplateByImport } from "../Add-on/DrawBoard/DrawTemplateByImport"; export function registerCommand() { @@ -332,6 +333,7 @@ export function registerCommand() commandMachine.RegisterCommand("TO", new Command_DynOffsetToolPath()); commandMachine.RegisterCommand("Length", new Command_Length()); + commandMachine.RegisterCommand("Area", new Command_Area()); //绘制灯 commandMachine.RegisterCommand(CommandNames.PointLight2, new DrawPointLight());