This commit is contained in:
X1627315083
2025-04-23 16:20:53 +08:00
parent 764c7bc7ec
commit dc092b64a1
29 changed files with 126 additions and 68 deletions

View File

@@ -101,7 +101,7 @@ export default defineComponent({
const setSelectModel = (item:any)=>{
data.isShowMark = true
const value = {
threeDSimpleId:item.threeDSimpleId,
threeDSimpleId:item.id,
}
Https.axiosPost(Https.httpUrls.getLayoutDetail,{},{params:value}).then((res:any)=>{
data.selectModel = res
@@ -111,7 +111,10 @@ export default defineComponent({
// if(data.imgOrThree){
// dataDom.threeBox.openSetData()
// }
store.commit('setPatternMaking3D',item.id)
let stateData = {
threeDsimpleId:item.id
}
store.commit('setPatternMaking3D',stateData)
}).catch((err:any)=>{
data.isShowMark = false
})
@@ -122,7 +125,7 @@ export default defineComponent({
})
const openSetData = ()=>{
nextTick(()=>{
let id = store.state.HomeStoreModule.patternMaking3D
let id = store.state.HomeStoreModule.patternMaking3D.threeDsimpleId
if(id && data.selectModel.id == -1)setSelectModel({id})
})
setTimeout(()=>{
@@ -172,8 +175,7 @@ export default defineComponent({
data.libraryOrModel = str
}
const setMaterial = (item:any)=>{
let url = item.url || item.url || item.imgUrl
dataDom.threeBox.addMaterial(url)
dataDom.threeBox.addMaterial(item)
}
return{
...toRefs(dataDom),

View File

@@ -244,11 +244,12 @@ export default defineComponent({
await addModel(url)
// addMaterial()
}
const addMaterial = (url:any)=>{
const addMaterial =async (item:any)=>{
//添加图片材质
let url = item.url || item.url || item.imgUrl
data.load.state = true
let textureLoader = new THREE.TextureLoader()
textureLoader.load(url, // 图片放在public/textures目录下
await textureLoader.load(url, // 图片放在public/textures目录下
(texture:any) => {
data.textureLoader = texture
// 3. 配置纹理参数
@@ -267,6 +268,10 @@ export default defineComponent({
const modelHeight = box.getSize(new THREE.Vector3()).y;
data.repeat.x = 2 - modelWidth / textureWidth;
data.repeat.y = 2 - modelHeight / textureHeight;
let patternMaking3D = store.state.HomeStoreModule.patternMaking3D
if(patternMaking3D.x)data.repeat.x = patternMaking3D.x
if(patternMaking3D.y)data.repeat.y = patternMaking3D.y
// texture.repeat.set(1, 1); // 纹理重复次数
texture.repeat.set(2 - data.repeat.x, 2 - data.repeat.y); // 纹理重复次数
@@ -294,7 +299,12 @@ export default defineComponent({
console.error('纹理加载失败:', error);
data.load.state = false
});
let value = {
collectionElementId:item.id,
x:data.repeat.x,
y:data.repeat.y,
}
store.commit('setPatternMaking3D',value)
})
}
@@ -376,12 +386,19 @@ export default defineComponent({
data.load.state = true
const modeUrl = await getModelUrl(value)
await setModel(modeUrl)
let patternMaking3D = store.state.HomeStoreModule.patternMaking3D
if(patternMaking3D.printMinioUrl)await addMaterial({url:patternMaking3D.printMinioUrl})
data.load.state = false
}
const changeRepeat = (e:any)=>{
clearTimeout(dataTime.updataRepeat)
dataTime.updataRepeat = setTimeout(()=>{
data.textureLoader.repeat.set(2 - data.repeat.x,2 - data.repeat.y); // 纹理重复次数
let value = {
x:data.repeat.x,
y:data.repeat.y,
}
store.commit('setPatternMaking3D',value)
},1000)
}
onMounted(()=>{