- 执行时间: {{ formatTime(taskResult.startedAt) }} - {{ formatTime(taskResult.completedAt) }}
+
+ 执行时间: {{ formatTime(taskResult.StartedAt) }} - {{ formatTime(taskResult.CompletedAt) }}
+
Zone 处理汇总
- -
+
-
{{ zone }} : {{ count }} 个移除
-
+
部分处理出错:
- - {{ err }}
- - ...以及其他 {{ taskResult.errors.length - 5 }} 个错误
+ - {{ err }}
+ - ...以及其他 {{ taskResult.Errors.length - 5 }} 个错误
@@ -222,11 +222,11 @@ const startTask = async () => {
try {
const payload = {
- dryRun: formData.dryRun,
- padding: formData.padding,
- touchTolerance: formData.touchTolerance,
- zoneFilters: zoneFiltersInput.value ? zoneFiltersInput.value.split(',').map(s => s.trim()).filter(s => s) : [],
- keepTypes: formData.keepTypes
+ DryRun: formData.dryRun,
+ Padding: formData.padding,
+ TouchTolerance: formData.touchTolerance,
+ ZoneFilters: zoneFiltersInput.value ? zoneFiltersInput.value.split(',').map(s => s.trim()).filter(s => s) : [],
+ KeepTypes: formData.keepTypes
}
const res = await pdmsApi.executeShrinkwrap(payload)
diff --git a/src/components/pages/PdmsSimplifyPage.vue b/src/components/pages/PdmsSimplifyPage.vue
new file mode 100644
index 0000000..2ea9ecf
--- /dev/null
+++ b/src/components/pages/PdmsSimplifyPage.vue
@@ -0,0 +1,581 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ SITE (场地)
+ ZONE (区域)
+ STRU (结构)
+ FRAME (框架)
+ SHELL (壳体)
+ PLAT (平台)
+ WALL (墙体)
+
+
+
+
+
+
+
+
+ PIPE (管道)
+ BRAN (分支)
+ ELBO (弯头)
+ VALV (阀门)
+ FITT (管件)
+ NOZZ (管口)
+ EQUI (设备)
+
+
+
+
+
+
+
+
+
指定边界包围盒的填充间距,默认 0.0
+
+
+
+
+
+
+
+
+
+
+
+ 开启模拟模式 (Dry Run)?仅模拟不真删
+
+
+
+
+
+
+
+
+
+ {{ errorMessage }}
+
+
+
+
+
+
+
+ 正在处理PDMS模型,请耐心等待 (可能需要几分钟)...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ taskResult.RemovedCount || 0 }}
+
移除类别构件数
+
+
+
+
+
+
{{ taskResult.KeptCount || 0 }}
+
保留构件总数
+
+
+
+
+
+
{{ taskResult.TotalVisited || 0 }}
+
扫描构件总数
+
+
+
+
+
+
处理信息
+
{{ taskResult.Message }}
+
+ 执行时间: {{ formatTime(taskResult.StartedAt) }} - {{ formatTime(taskResult.CompletedAt) }}
+
+
+
+
+
+
+
+
移除元件示例
+
+ -
+ {{ el }}
+
+ - ...以及其他 {{ taskResult.RemovedElements.length - 5 }} 个元件
+
+
+
+
+
+
部分处理出错:
+
+ - {{ err }}
+ - ...以及其他 {{ taskResult.Errors.length - 5 }} 个错误
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/config/cad.js b/src/config/cad.js
index a7509b8..c77aba5 100644
--- a/src/config/cad.js
+++ b/src/config/cad.js
@@ -129,12 +129,13 @@ const CAD_SOFTWARE_DEFINITIONS = {
apiVersion: 'v1',
priority: 3,
description: '工厂设计管理',
- features: ['status', 'piping', 'shrinkwrap', 'openProject', 'openMdb', 'exportIfc'],
+ features: ['status', 'piping', 'shrinkwrap', 'simplify', 'openProject', 'openMdb', 'exportIfc'],
endpoints: {
connect: '/test',
status: '/api/status/model',
piping: '/api/v1/piping',
shrinkwrap: '/api/model/shrinkwrap',
+ simplify: '/api/model/simplify',
openProject: '/api/project/open',
openMdb: '/api/mdb/open',
exportIfc: '/api/export/ifc'
diff --git a/src/config/pages.js b/src/config/pages.js
index d2eb511..5a6f8b4 100644
--- a/src/config/pages.js
+++ b/src/config/pages.js
@@ -15,6 +15,7 @@ export const PAGE_TYPES = {
FILE_MANAGEMENT: 'file-management',
REVIT_ENVELOPE_OPTIMIZATION: 'revit-envelope-optimization',
PDMS_SHRINKWRAP: 'pdms-shrinkwrap',
+ PDMS_SIMPLIFY: 'pdms-simplify',
BATCH_JOB_MANAGER: 'batch-job-manager',
REPORT_LOG_VIEWER: 'report-log-viewer',
MULTI_ALGORITHM_FUSION: 'multi-algorithm-fusion'
@@ -26,5 +27,6 @@ export const CAD_REQUIRED_PAGES = [
PAGE_TYPES.ANALYSIS_TOOLS,
PAGE_TYPES.EXPORT_TOOLS,
PAGE_TYPES.REVIT_ENVELOPE_OPTIMIZATION,
- PAGE_TYPES.PDMS_SHRINKWRAP
+ PAGE_TYPES.PDMS_SHRINKWRAP,
+ PAGE_TYPES.PDMS_SIMPLIFY
]
\ No newline at end of file
diff --git a/src/services/pdmsApi.js b/src/services/pdmsApi.js
index a70af32..cfa0c62 100644
--- a/src/services/pdmsApi.js
+++ b/src/services/pdmsApi.js
@@ -53,6 +53,23 @@ class PdmsApiService {
})
}
+ /**
+ * 执行PDMS模型简化处理
+ * @param {Object} params 简化参数
+ * @returns {Promise<{success: boolean, data?: any, error?: string}>}
+ */
+ async executeSimplify(params) {
+ const url = buildApiUrl(this.softwareName, 'simplify')
+
+ return await apiClient.post(url, params, {
+ timeout: 600000, // 超时600s
+ operationContext: {
+ software: 'PDMS',
+ operation: '模型简化处理'
+ }
+ })
+ }
+
/**
* 打开 PDMS 项目
* @param {Object} params - 项目参数 { ProjectName, UserName, Password }
diff --git a/src/views/DashboardView.vue b/src/views/DashboardView.vue
index 558a8cd..482f749 100644
--- a/src/views/DashboardView.vue
+++ b/src/views/DashboardView.vue
@@ -67,6 +67,7 @@ import GeometryOptimizationParams from '@/components/pages/GeometryOptimizationP
import GeometryOptimizationResult from '@/components/pages/GeometryOptimizationResult.vue'
import RevitEnvelopeOptimization from '@/components/pages/RevitEnvelopeOptimization.vue'
import PdmsShrinkwrapPage from '@/components/pages/PdmsShrinkwrapPage.vue'
+import PdmsSimplifyPage from '@/components/pages/PdmsSimplifyPage.vue'
import FileManagementPage from '@/components/pages/FileManagementPage.vue'
import BatchJobManager from '@/components/pages/BatchJobManager.vue'
import ReportLogViewer from '@/components/pages/ReportLogViewer.vue'
@@ -118,6 +119,7 @@ const pageComponentMap = {
[PAGE_TYPES.FILE_MANAGEMENT]: FileManagementPage,
[PAGE_TYPES.REVIT_ENVELOPE_OPTIMIZATION]: RevitEnvelopeOptimization,
[PAGE_TYPES.PDMS_SHRINKWRAP]: PdmsShrinkwrapPage,
+ [PAGE_TYPES.PDMS_SIMPLIFY]: PdmsSimplifyPage,
[PAGE_TYPES.BATCH_JOB_MANAGER]: BatchJobManager,
[PAGE_TYPES.REPORT_LOG_VIEWER]: ReportLogViewer,
[PAGE_TYPES.MULTI_ALGORITHM_FUSION]: MultiAlgorithmFusion