首頁樣式修改

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%', height: '100%',
}" }"
> >
<div :class="twMerge('w-full relative', is3D ? '' : 'h-full')"> <div :class="twMerge('w-full relative', is3D ? 'h-full' : 'h-full')">
<img <img
alt="build" alt="build"
:src="`${FILE_BASEURL}/UI_images/build/2D/build.jpg`" :src="`${FILE_BASEURL}/UI_images/build/2D/build.jpg`"
@ -35,18 +35,10 @@ const { is3D } = inject("app_config");
) )
" "
/> />
</div> <a-radio-group v-model:value="type" class=" absolute left-1/2 translate-x-[-50%] bottom-3 z-20">
<div class="mt-2" v-if="is3D"> <a-radio-button value="2d">2D</a-radio-button>
<div class="flex items-center justify-between"> <a-radio-button value="3d">3D</a-radio-button>
<h5>智慧建築</h5> </a-radio-group>
<a-radio-group v-model:value="type">
<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> </div>
</a-card> </a-card>
</template> </template>

View File

@ -26,6 +26,10 @@ const initViewer = (container) => {
viewer.impl.renderer().setClearAlpha(0); viewer.impl.renderer().setClearAlpha(0);
viewer.impl.glrenderer().setClearColor(0xffffff, 0); viewer.impl.glrenderer().setClearColor(0xffffff, 0);
viewer.impl.invalidate(true); viewer.impl.invalidate(true);
// viewer.addEventListener(
// Autodesk.Viewing.CAMERA_CHANGE_EVENT,
// trackCamera
// ); //
resolve(viewer); resolve(viewer);
} }
); );
@ -41,6 +45,21 @@ const loadModel = (filePath) => {
(model) => { (model) => {
viewer.impl.invalidate(true); viewer.impl.invalidate(true);
viewer.fitToView(); 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); resolve(model);
console.log("模型加載完成"); 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 () => { onMounted(async () => {
console.log("Forge 加載"); console.log("Forge 加載");
await initViewer(forgeDom.value); await initViewer(forgeDom.value);
@ -59,6 +108,10 @@ onMounted(async () => {
onUnmounted(() => { onUnmounted(() => {
console.log("Forge 銷毀"); console.log("Forge 銷毀");
if (viewer) { if (viewer) {
// viewer.removeEventListener(
// Autodesk.Viewing.CAMERA_CHANGE_EVENT,
// trackCamera
// ); //
viewer.tearDown(); viewer.tearDown();
viewer.finish(); viewer.finish();
viewer = null; viewer = null;