完善 PNVO001 与 PNRP17 前端图标及端口交互

按 AMESim 参考样式重绘孔板与气动活塞图标,调整端口锚点和旋转后的连接方向,并补充组件图标及接触连接回归测试。
This commit is contained in:
ljz committed 2026-08-03 09:49:55 +08:00
1 parent 1f4027573f
commit 11093613c5
5 files changed
+202 -72

No files matched your search

+43 -16
View File
@@ -7,6 +7,7 @@ import {
} from "./primitives";
const PNEUMATIC_STROKE_WIDTH = 1.7;
const PNVO001_STROKE = "#8b134f";
function OrificeBody({
centerY = 25,
@@ -49,6 +50,46 @@ export function AmesimPnor001Symbol() {
);
}
function Pnvo001Body({
signalControlled = false,
}: {
signalControlled?: boolean;
}) {
return (
<>
<path
d="M0 24.5h64"
stroke={PNVO001_STROKE}
strokeLinecap="butt"
strokeWidth="2.1"
/>
<path
d="M15.5 14.4Q33.4 27 51.2 14.4M15.5 34.8Q33.2 22.4 51.2 34.8"
stroke={PNVO001_STROKE}
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="3.1"
/>
<path
d="M19 46.7 44.5 10"
stroke={PNVO001_STROKE}
strokeLinecap="butt"
strokeWidth="2.6"
/>
{signalControlled ? (
<path
d="M26 48V36.6l7.2 10.1"
stroke={PNVO001_STROKE}
strokeLinecap="butt"
strokeLinejoin="round"
strokeWidth="2.3"
/>
) : null}
<path d="M50.6 0 38.6 8.2 48 12.3Z" fill={PNVO001_STROKE} />
</>
);
}
/** PNVO001 convenience variant whose opening is fixed by a parameter. */
export function AmesimPnvo001FixedSymbol() {
return (
@@ -56,14 +97,7 @@ export function AmesimPnvo001FixedSymbol() {
className="component-symbol-amesim-pnvo001-fixed-svg"
domain="pneumatic"
>
<OrificeBody centerY={28} />
<path
d="M43 4 34 20m9-16-2 7-5-3"
stroke={SYMBOL_ACCENT}
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="1.7"
/>
<Pnvo001Body />
</SymbolSvg>
);
}
@@ -75,14 +109,7 @@ export function AmesimPnvo001SignalSymbol() {
className="component-symbol-amesim-pnvo001-signal-svg"
domain="pneumatic"
>
<OrificeBody centerY={25} leftPortY={32} />
<path
d="M2 16h11l21 5m0 0-7-1m7 1-5 5"
stroke={SYMBOL_ACCENT}
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="1.7"
/>
<Pnvo001Body signalControlled />
</SymbolSvg>
);
}