首頁樣式修改

This commit is contained in:
huliang 2025-06-27 14:09:26 +08:00
parent 9f17d6d8c1
commit 153015e996
2 changed files with 58 additions and 13 deletions

View File

@ -15,7 +15,7 @@ const { is3D } = inject("app_config");
height: '100%',
}"
>
<div :class="twMerge('w-full relative', is3D ? '' : 'h-full')">
<div :class="twMerge('w-full relative', is3D ? 'h-full' : 'h-full')">
<img
alt="build"
:src="`${FILE_BASEURL}/UI_images/build/2D/build.jpg`"
@ -35,19 +35,11 @@ const { is3D } = inject("app_config");
)
"
/>
</div>
<div class="mt-2" v-if="is3D">
<div class="flex items-center justify-between">
<h5>智慧建築</h5>
<a-radio-group v-model:value="type">
<a-radio-group v-model:value="type" class=" absolute left-1/2 translate-x-[-50%] bottom-3 z-20">
<a-radio-button value="2d">2D</a-radio-button>
<a-radio-button value="3d">3D</a-radio-button>
</a-radio-group>
</div>
<p class="intro text-gray-400">
掌握建築用電系統健康狀態打造智慧節能醫院
</p>
</div>
</a-card>
</template>

View File

@ -26,6 +26,10 @@ const initViewer = (container) => {
viewer.impl.renderer().setClearAlpha(0);
viewer.impl.glrenderer().setClearColor(0xffffff, 0);
viewer.impl.invalidate(true);
// viewer.addEventListener(
// Autodesk.Viewing.CAMERA_CHANGE_EVENT,
// trackCamera
// ); //
resolve(viewer);
}
);
@ -41,6 +45,21 @@ const loadModel = (filePath) => {
(model) => {
viewer.impl.invalidate(true);
viewer.fitToView();
//
setTimeout(() => {
setCameraPosition(
{
x: -167.82545540638415,
y: 345.10870156503876,
z: 81.70050447380856,
}, //
{
x: 21.13901422856481,
y: -41.714495314675034,
z: -29.07274095478474,
} //
);
}, 500);
resolve(model);
console.log("模型加載完成");
},
@ -49,6 +68,36 @@ const loadModel = (filePath) => {
});
};
//
const trackCamera = () => {
if (viewer) {
const nav = viewer.navigation;
const cameraPosition = nav.getPosition();
const cameraTarget = nav.getTarget();
console.log("當前相機位置:", cameraPosition);
console.log("當前相機目標:", cameraTarget);
}
};
//
const setCameraPosition = (position, target) => {
if (viewer) {
const nav = viewer.navigation;
const newPosition = new THREE.Vector3(position.x, position.y, position.z);
const newTarget = new THREE.Vector3(target.x, target.y, target.z);
nav.setView(newPosition, newTarget);
console.log("攝影機定位完成:");
console.log("新位置:", newPosition);
console.log("新目標:", newTarget);
} else {
console.warn("Forge Viewer 尚未初始化");
}
};
onMounted(async () => {
console.log("Forge 加載");
await initViewer(forgeDom.value);
@ -59,6 +108,10 @@ onMounted(async () => {
onUnmounted(() => {
console.log("Forge 銷毀");
if (viewer) {
// viewer.removeEventListener(
// Autodesk.Viewing.CAMERA_CHANGE_EVENT,
// trackCamera
// ); //
viewer.tearDown();
viewer.finish();
viewer = null;