fix #IZWHE 修复单板延伸空间分析错误

pull/403/MERGE
ChenX 5 years ago
parent 940bfe34e1
commit 276c24e50c

@ -97,6 +97,9 @@ export class GetDistanceServices
let dynInput = new GetDistancePromptBlock(dynManage);
dynInput.Value = prompt.Default;
if (!prompt.Msg)
prompt.Msg = "请输入距离或者点取距离:";
if (prompt.Default !== undefined)
prompt.Msg += `<${prompt.Default}>`;
dynInput.UpdatePrompt(prompt.Msg);

@ -87,18 +87,18 @@ export class ClampSpaceParse extends ISpaceParse
async ParseSignalBoard()
{
let res = await this.GetSignalDist();
if (res.Status === PromptStatus.OK)
if (res.Status === PromptStatus.OK && res.Distance > 0)
{
let dist = res.Distance;
this._signalDist = dist;
let br = this.m_Boards[0];
let mat = br.RotateMat;
let p1 = new Vector3(0, 0, 0).applyMatrix4(mat);
let p2 = new Vector3(br.Width, br.Height, -dist).applyMatrix4(mat);
let p3 = new Vector3(0, 0, br.Thickness).applyMatrix4(mat);
let p4 = new Vector3(br.Width, br.Height, br.Thickness + dist).applyMatrix4(mat);
let mtx = this.m_SpaceOCSInv.clone().multiply(br.OCS);
let p1 = new Vector3(0, 0, 0).applyMatrix4(mtx);
let p2 = new Vector3(br.Width, br.Height, -dist).applyMatrix4(mtx);
let p3 = new Vector3(0, 0, br.Thickness).applyMatrix4(mtx);
let p4 = new Vector3(br.Width, br.Height, br.Thickness + dist).applyMatrix4(mtx);
let boxs = [new Box3Ext().setFromPoints([p1, p2]), new Box3Ext().setFromPoints([p3, p4])];

@ -1,12 +1,16 @@
import { ClampSpaceParse } from "./ClampSpaceParse";
import { app } from "../../ApplicationServices/Application";
import { PromptDistendResult } from "../../Editor/PromptResult";
import { PromptDistendResult, PromptStatus } from "../../Editor/PromptResult";
let Default = 100;
export class ClampSpaceParseDist extends ClampSpaceParse
{
//virtual (请重载) 指定用户选择单块板的延伸空间
async GetSignalDist(): Promise<PromptDistendResult>
{
return app.Editor.GetDistance({});
let res = await app.Editor.GetDistance({ Default });
if (res.Status === PromptStatus.OK)
Default = res.Distance;
return res;
}
}

Loading…
Cancel
Save