/* 装配图工具栏、页签、主视口与画布 */ /* ==================== 交互式装配图查看器 (Interactive Assembly Drawing) ==================== */ #sheet { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; flex-direction: column; background: #11141a; overflow: hidden; z-index: 10; padding: 0; } body.sheet-mode #sheet { display: flex !important; } /* 隐藏 3D 专属工具条按钮(当处于装配图时) */ body.sheet-mode #bAsm, body.sheet-mode #bExp, body.sheet-mode #exp, body.sheet-mode #cam, body.sheet-mode #bWire, body.sheet-mode #bXRay, body.sheet-mode #bScr, body.sheet-mode #bHarn, body.sheet-mode #bEnv, body.sheet-mode #bFit { display: none !important; } body.sheet-mode footer #footModel { display: none !important; } body.sheet-mode footer #footSheet { display: inline !important; } /* 顶部装配图工具栏 */ #sheetToolbar { display: flex; align-items: center; gap: 8px; padding: 6px 12px; background: var(--pan); border-bottom: 1px solid var(--line); flex: none; min-height: 40px; overflow-x: auto; white-space: nowrap; } .sheet-tabs { display: flex; gap: 5px; align-items: center; } .sheet-tab { background: var(--pan2); color: var(--tx); border: 1px solid var(--line); border-radius: 5px; padding: 4px 10px; font-size: 12px; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; transition: all .15s ease; } .sheet-tab:hover { border-color: var(--ac); color: #fff; } .sheet-tab.on { background: #1e3a66; border-color: var(--ac); color: #fff; font-weight: 600; box-shadow: 0 0 10px rgba(76,154,255,.25); } .sheet-tab.guide-tab { background: rgba(245, 158, 11, 0.12); border-color: rgba(245, 158, 11, 0.4); color: #f59e0b; } .sheet-tab.guide-tab.on { background: #78350f; border-color: #f59e0b; color: #fef3c7; box-shadow: 0 0 10px rgba(245, 158, 11, 0.35); } .sheet-vsep { width: 1px; height: 20px; background: var(--line); margin: 0 4px; flex: none; } .sheet-btn-group { display: flex; border: 1px solid var(--line); border-radius: 5px; overflow: hidden; flex: none; } .sheet-btn-group .sheet-btn { border: none; border-radius: 0; padding: 3px 8px; font-size: 11.5px; background: var(--pan2); border-right: 1px solid var(--line); cursor: pointer; } .sheet-btn-group .sheet-btn:last-child { border-right: none; } .sheet-btn-group .sheet-btn.on { background: var(--ac); color: #fff; font-weight: 600; } .sheet-layers { display: flex; gap: 8px; align-items: center; font-size: 11.5px; color: var(--dim); } .sheet-layers label { display: inline-flex; align-items: center; gap: 3px; cursor: pointer; -webkit-user-select: none; user-select: none; } .sheet-layers input[type=checkbox] { accent-color: var(--ac); cursor: pointer; } .sheet-space { flex: 1; min-width: 8px; } .sheet-btn-accent { background: linear-gradient(135deg, #1d4ed8, #2563eb); color: #fff; border: 1px solid #60a5fa; font-weight: 500; display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 5px; cursor: pointer; transition: all .15s; } .sheet-btn-accent:hover { background: linear-gradient(135deg, #2563eb, #3b82f6); box-shadow: 0 0 12px rgba(96,165,250,.4); } /* 主视口区域 */ #sheetViewport { position: relative; flex: 1; min-height: 0; overflow: hidden; cursor: grab; background: #0f1217; transition: background 0.2s; } #sheetViewport.is-dragging { cursor: grabbing !important; } /* 画布与缩放平移 */ #sheetCanvas { position: absolute; top: 0; left: 0; transform-origin: 0 0; will-change: transform; } #sheetSvgWrapper { display: inline-block; vertical-align: top; box-shadow: 0 8px 32px rgba(0,0,0,.5); border-radius: 6px; overflow: hidden; transition: box-shadow 0.2s; } #sheetSvgWrapper svg { display: block; border-radius: 6px; }