From 58f4231907d99ded36e5c50a2f78b9b83bc3b3c0 Mon Sep 17 00:00:00 2001 From: Kseninia Mikhaylova Date: Wed, 12 Jun 2024 13:33:00 +0300 Subject: [PATCH] remove object --- components/model/fence.vue | 2 +- components/model/parametric.vue | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/components/model/fence.vue b/components/model/fence.vue index a0ac0c9..ce521ac 100644 --- a/components/model/fence.vue +++ b/components/model/fence.vue @@ -13,7 +13,7 @@ const pillar_size = 80 * 0.001 const pillar_one_pos = ref(fence_section.value * -0.5 - 0.01) const pillar_two_pos = ref(fence_section.value * 0.5 + pillar_size + bSize - 0.01) -watch(fence_section, () => { +watch([fence_section, lamelles_count], () => { pillar_one_pos.value = fence_section.value * -0.5 - 0.01 pillar_two_pos.value = fence_section.value * 0.5 + pillar_size + bSize - 0.01 }) diff --git a/components/model/parametric.vue b/components/model/parametric.vue index ccc9a93..60f750d 100644 --- a/components/model/parametric.vue +++ b/components/model/parametric.vue @@ -36,11 +36,19 @@ const { scene: top } = await useGLTF('/models_one/verh_100.glb') const { scene: fence } = await useGLTF('/models_one/fence.glb') const { scene: fastening } = await useGLTF('/models_one/krepleniye_planok (1).glb') const { scene: lamelle } = await useGLTF('/models_one/lamel_100.glb') -const { seekAll } = useSeek() + +const { seek, seekAll } = useSeek() watch(section_count, () => { const fences = seekAll(scene.value, 'name', 'fence') - if (fences.length > (section_count.value as number)) { - fences[fences.length - 1].remove() + const base = seek(scene.value, 'name', 'base') + const n = (section_count.value as number) + if (fences.length > n) { + for (let i = fences.length; i > n; i--) { + const item = fences[i - 1] + if (item) { + base?.remove(item) + } + } // renderer.value.render(scene.value, camera.value) } })