You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.1 KiB
64 lines
2.1 KiB
using connor_zwcadm.util;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace connor_zwcadm.model {
|
|
public class BOMBlockInfo {
|
|
|
|
public string TitleBlockName { get; }
|
|
public string BOMBlockName { get; }
|
|
public string BOMHeaderBlockName { get; }
|
|
public double Dx { get; }
|
|
public double Dy { get; }
|
|
public string AttrIndex { get; }
|
|
|
|
private BOMBlockInfo(string titleBlockName, string bomBlockName, string bomHeaderBlockName,string attrIndex, double dx, double dy) {
|
|
TitleBlockName = titleBlockName;
|
|
BOMBlockName = bomBlockName;
|
|
BOMHeaderBlockName = bomHeaderBlockName;
|
|
AttrIndex = attrIndex;
|
|
Dx = dx;
|
|
Dy = dy;
|
|
}
|
|
|
|
public string GetInfo() {
|
|
return string.Format("标题栏[{0}] 明细栏表头[{1}] 明细栏[{2}] 序号属性[{3}] 坐标[{4}, {5}]", TitleBlockName, BOMHeaderBlockName, BOMBlockName,AttrIndex, Dx, Dy);
|
|
}
|
|
|
|
public static BOMBlockInfo Parse(string config) {
|
|
if (string.IsNullOrWhiteSpace(config)) {
|
|
return null;
|
|
}
|
|
string[] split = config.Split('=');
|
|
if (KUtil.GetLen(split) != 5) {
|
|
return null;
|
|
}
|
|
string titleBlockName = split[0];
|
|
string bomHeaderBlockName = split[1];
|
|
string bomBlockName = split[2];
|
|
string attrIndex = split[3];
|
|
string[] position = split[4].Split(',');
|
|
if (KUtil.GetLen(position) != 2) {
|
|
return null;
|
|
}
|
|
try {
|
|
double dx = double.Parse(position[0]);
|
|
double dy = double.Parse(position[1]);
|
|
if (!string.IsNullOrWhiteSpace(titleBlockName)
|
|
&& !string.IsNullOrWhiteSpace(bomHeaderBlockName)
|
|
&& !string.IsNullOrWhiteSpace(bomBlockName)
|
|
&& !string.IsNullOrWhiteSpace(attrIndex)) {
|
|
return new BOMBlockInfo(titleBlockName, bomBlockName, bomHeaderBlockName, attrIndex, dx, dy);
|
|
}
|
|
}
|
|
catch(Exception e) {
|
|
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|