几何优化分析优化和解决图标不显示

This commit is contained in:
sladro 2026-01-05 12:09:19 +08:00
parent b177cd1396
commit 3f42c0c675
5 changed files with 56 additions and 11 deletions

View File

@ -5,8 +5,7 @@
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>工业模型软件管理统一平台</title>
<!-- Font Awesome 图标库 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<!-- Font Awesome 图标库 (已本地化) -->
</head>
<body>
<div id="app"></div>

10
package-lock.json generated
View File

@ -8,6 +8,7 @@
"name": "miany-vue",
"version": "0.0.0",
"dependencies": {
"@fortawesome/fontawesome-free": "^7.1.0",
"element-plus": "^2.11.2",
"online-3d-viewer": "^0.16.0",
"pinia": "^3.0.3",
@ -1154,6 +1155,15 @@
"integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
"license": "MIT"
},
"node_modules/@fortawesome/fontawesome-free": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-7.1.0.tgz",
"integrity": "sha512-+WxNld5ZCJHvPQCr/GnzCTVREyStrAJjisUPtUxG5ngDA8TMlPnKp6dddlTpai4+1GNmltAeuk1hJEkBohwZYA==",
"license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)",
"engines": {
"node": ">=6"
}
},
"node_modules/@humanfs/core": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",

View File

@ -17,6 +17,7 @@
"tauri:build": "tauri build"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^7.1.0",
"element-plus": "^2.11.2",
"online-3d-viewer": "^0.16.0",
"pinia": "^3.0.3",

View File

@ -207,9 +207,10 @@
</template>
<script setup>
import { ref } from 'vue'
import { ref, onMounted } from 'vue'
import { getGeometryOptimizationDefaults } from '@/config/cad.js'
import { creoApi } from '@/services/creoApi.js'
import { useCADStore } from '@/stores/cad'
// Emits
const emit = defineEmits(['close', 'start-optimization'])
@ -230,20 +231,22 @@ const sections = ref({
advanced: { expanded: false }
})
const cadStore = useCADStore()
//
const configDefaults = getGeometryOptimizationDefaults()
//
const parameters = ref({
software_type: configDefaults.SOFTWARE_TYPE,
project_name: props.subassemblyPath || window.appState?.currentProject?.name || 'Unknown Project',
project_name: props.subassemblyPath || cadStore.currentProjectName || 'Unknown Project',
method: configDefaults.METHOD,
quality: configDefaults.QUALITY,
chord_height: configDefaults.CHORD_HEIGHT,
fill_holes: configDefaults.FILL_HOLES,
ignore_small_surfaces: configDefaults.IGNORE_SMALL_SURFACES,
small_surface_percentage: configDefaults.SMALL_SURFACE_PERCENTAGE,
output_file_path: '自定义名字',
output_file_path: props.subassemblyPath ? props.subassemblyPath.split('/').pop() : (cadStore.currentProjectName || ''),
output_type: configDefaults.OUTPUT_TYPE,
ignore_quilts: configDefaults.IGNORE_QUILTS,
ignore_skeleton: configDefaults.IGNORE_SKELETON,
@ -263,10 +266,15 @@ const selectMethod = (method) => {
//
const startOptimization = async () => {
// API使""project_name
//
const rootProjectName = cadStore.currentProjectName || parameters.value.project_name || "current_model"
// API
const apiParams = {
software_type: parameters.value.software_type,
project_name: "通过接口获取",
// project_name component_path
// project_name
project_name: rootProjectName,
method: parameters.value.method,
quality: parameters.value.quality,
chord_height: parameters.value.chord_height,
@ -280,10 +288,9 @@ const startOptimization = async () => {
assign_mass_properties: parameters.value.assign_mass_properties
}
// 'Unknown Project'
if (parameters.value.project_name !== 'Unknown Project') {
// ()
apiParams.component_path = parameters.value.project_name
// component_path
if (props.subassemblyPath) {
apiParams.component_path = props.subassemblyPath
}
// API
@ -293,6 +300,33 @@ const startOptimization = async () => {
emit('start-optimization', { result, parameters: { ...parameters.value } })
}
//
onMounted(async () => {
//
if (!props.subassemblyPath && (!cadStore.currentProjectName || parameters.value.project_name === 'Unknown Project')) {
try {
const result = await creoApi.getCurrentModel()
if (result.success && result.data && result.data.data) {
const fileName = result.data.data.fileName
if (fileName) {
// Store
cadStore.setCurrentProjectName(fileName)
//
parameters.value.project_name = fileName
//
if (!parameters.value.output_file_path || parameters.value.output_file_path === 'Unknown Project') {
parameters.value.output_file_path = fileName
}
}
}
} catch (e) {
console.error('Failed to auto-fetch project name', e)
}
}
})
</script>
<style scoped>

View File

@ -2,6 +2,7 @@ import { createApp } from 'vue'
import { createPinia } from 'pinia'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import '@fortawesome/fontawesome-free/css/all.css'
import App from './App.vue'
import router from './router'