Skip to content

Commit 1f727d2

Browse files
committed
update some mcp tool
1 parent a5e55d8 commit 1f727d2

4 files changed

Lines changed: 612 additions & 678 deletions

File tree

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
namespace EtabSharp.Mcp.Models;
2+
3+
// ─── Project Summary ─────────────────────────────────────────────────────────
4+
5+
public record ProjectSummary(
6+
string FileName,
7+
string Version,
8+
UnitsInfo Units,
9+
int StoryCount,
10+
double TotalHeight,
11+
int MaterialCount,
12+
int FrameCount,
13+
int AreaCount,
14+
int LoadPatternCount,
15+
int LoadCaseCount,
16+
bool AnalysisComplete,
17+
BaseReactionSummary? BaseReactions
18+
)
19+
{
20+
public static ProjectSummary NotConnected() => new(
21+
FileName: "",
22+
Version: "",
23+
Units: new UnitsInfo("", "", ""),
24+
StoryCount: 0,
25+
TotalHeight: 0,
26+
MaterialCount: 0,
27+
FrameCount: 0,
28+
AreaCount: 0,
29+
LoadPatternCount: 0,
30+
LoadCaseCount: 0,
31+
AnalysisComplete: false,
32+
BaseReactions: null
33+
);
34+
}
35+
36+
public record UnitsInfo(string Force, string Length, string Temperature);
37+
38+
// ─── Base Reactions ───────────────────────────────────────────────────────────
39+
40+
public record BaseReactionSummary(
41+
int Count,
42+
List<ReactionItem> Reactions
43+
);
44+
45+
public record ReactionItem(
46+
string LoadCase,
47+
string StepType,
48+
double StepNumber,
49+
double Fx,
50+
double Fy,
51+
double Fz,
52+
double Mx,
53+
double My,
54+
double Mz
55+
);
56+
57+
// ─── Building Information ─────────────────────────────────────────────────────
58+
59+
public record BuildingInformationResult(
60+
bool Success,
61+
string? Error,
62+
ModelInfoResult? ModelInfo,
63+
StoryInfoResult? Stories,
64+
CategorySummary? Materials,
65+
CategorySummary? FrameSections,
66+
CategorySummary? AreaSections,
67+
CategorySummary? LoadPatterns,
68+
CategorySummary? LoadCases,
69+
LoadCombinationsResult? LoadCombinations,
70+
GroupsResult? Groups
71+
);
72+
73+
public record ModelInfoResult(string Filename, string Version, UnitsInfo Units);
74+
75+
public record StoryInfoResult(
76+
int Count,
77+
double TotalHeight,
78+
List<StoryItem> Stories
79+
);
80+
81+
public record StoryItem(
82+
string Name,
83+
double Height,
84+
double Elevation,
85+
bool IsMasterStory,
86+
string SimilarToStory
87+
);
88+
89+
public record CategorySummary(
90+
int TotalCount,
91+
List<CategoryGroup> ByType
92+
);
93+
94+
public record CategoryGroup(string Type, int Count, List<string> Items);
95+
96+
public record LoadCombinationsResult(int TotalCount, List<string> Combinations);
97+
98+
public record GroupsResult(int TotalCount, List<GroupItem> Groups);
99+
100+
public record GroupItem(string Name, int ObjectCount);
101+
102+
// ─── Analysis Results ─────────────────────────────────────────────────────────
103+
104+
public record FrameForcesResult(
105+
bool Success,
106+
string? Error,
107+
int TotalResults,
108+
int ResultsShown,
109+
string? Note,
110+
List<FrameForceItem>? Forces
111+
);
112+
113+
public record FrameForceItem(
114+
string Frame,
115+
string Element,
116+
string LoadCase,
117+
string StepType,
118+
double ObjectStation,
119+
double ElementStation,
120+
ForceComponents Forces
121+
);
122+
123+
public record ForceComponents(
124+
double Axial,
125+
double Shear2,
126+
double Shear3,
127+
double Torsion,
128+
double Moment2,
129+
double Moment3
130+
);
131+
132+
public record JointDisplacementsResult(
133+
bool Success,
134+
string? Error,
135+
int TotalResults,
136+
int ResultsShown,
137+
string? Note,
138+
List<JointDisplacementItem>? Displacements
139+
);
140+
141+
public record JointDisplacementItem(
142+
string Point,
143+
string Element,
144+
string LoadCase,
145+
string StepType,
146+
double StepNumber,
147+
DisplacementComponents Displacements
148+
);
149+
150+
public record DisplacementComponents(
151+
double Ux, double Uy, double Uz,
152+
double Rx, double Ry, double Rz
153+
);
154+
155+
public record StoryDriftsResult(
156+
bool Success,
157+
string? Error,
158+
int Count,
159+
List<StoryDriftItem>? Drifts
160+
);
161+
162+
public record StoryDriftItem(
163+
string Story,
164+
string LoadCase,
165+
string StepType,
166+
string Direction,
167+
double Drift,
168+
string Label,
169+
LocationXYZ Location
170+
);
171+
172+
public record LocationXYZ(double X, double Y, double Z);
173+
174+
public record ModalResultsData(
175+
bool Success,
176+
string? Error,
177+
int TotalModes,
178+
List<ModeItem>? Modes,
179+
List<ParticipationFactorItem>? ParticipationFactors,
180+
List<MassRatioItem>? MassRatios
181+
);
182+
183+
public record ModeItem(
184+
string LoadCase,
185+
double Mode,
186+
double Period,
187+
double Frequency,
188+
double CircularFrequency,
189+
double Eigenvalue
190+
);
191+
192+
public record ParticipationFactorItem(
193+
string LoadCase,
194+
double Mode,
195+
double Period,
196+
double Ux, double Uy, double Uz,
197+
double Rx, double Ry, double Rz
198+
);
199+
200+
public record MassRatioItem(
201+
string LoadCase,
202+
double Mode,
203+
double Period,
204+
double Ux, double Uy, double Uz,
205+
double SumUx, double SumUy, double SumUz
206+
);

0 commit comments

Comments
 (0)