功能:模块树支持直接输入D代替_DIV

pull/1974/head
ChenX 2 years ago
parent 1ff72267a2
commit edaf000fce

@ -105,10 +105,9 @@ export class Command_Break implements Command
let cus = cu.GetSplitCurves(params);
if (cus.length > 0)
cu.Erase();
cus.forEach(c =>
{
app.Database.ModelSpace.Append(c);
});
for (let c of cus)
Draw(c);
}
}
}

@ -554,21 +554,22 @@ export class TemplateRecord extends SymbolTableRecord
//计算DIV(给子空间使用)
if (template.Children.length > 0 && template.SplitType !== TemplateSplitType.None)
{
let vardefines = (<TemplateRecord>template.Children[0].Object).GetParameterDefinition(false);
vardefines._DIV = 0;
let sum = 0;
let sum = 0;//除去div时,总共占用的空间
for (let c of template.Children)
{
let ctemplate = c.Object as TemplateRecord;
let vardefines = ctemplate.GetParameterDefinition(false);
vardefines._DIV = 0;
let param = ctemplate.Params[template.SplitType];
sum += param.EvalUpdate(vardefines, new Map(), new Set(), false);
}
let sumDiv = 0;
vardefines._DIV = 1;
let sumDiv = 0;//div=1时占用的空间
for (let c of template.Children)
{
let ctemplate = c.Object as TemplateRecord;
let vardefines = ctemplate.GetParameterDefinition(false);
vardefines._DIV = 1;
let param = ctemplate.Params[template.SplitType];
sumDiv += param.EvalUpdate(vardefines, new Map(), new Set(), false);
}

@ -486,7 +486,12 @@ export class TemplateParamDetail extends React.Component<{}> {
return true;
else
{
let result = CheckExpr(par.expr as string, this.store.GetCurrentTemplate().GetParameterDefinition());
let paramDefine = this.store.GetCurrentTemplate().GetParameterDefinition();
if ((par.expr as string).trim() === "D" && !("D" in paramDefine))
par.expr = "_DIV";
let result = CheckExpr(par.expr as string, paramDefine);
if (result.error !== undefined)//执行出错 反馈error
{
app.Editor.Prompt("表达式求值失败:" + result.error);

Loading…
Cancel
Save