DELMIA二次开发系列
前言
本例基于CAA V5 VB help文档,用Python语言展示了如何创建产品以及以现有产品为参考创建其新实例。
一、创建前的准备
首先看产品的对象关系图,关系图可作为代码建模流程的解释。
二、程序结构
import win32com.client
# 由于没有官方demo中的模型文件,导入的是上节创建的文件,做演示,名字懒得改了,所以不要在意Product命名的实际含义
delmia = win32com.client.Dispatch('delmia.application')
oProductDoc = delmia.Documents.Add("Product")
oTitanic = oProductDoc.Product
oTitanic.PartNumber = "Titanic"
oTitanic.Name = "Steam_Ship_Titanic"
oTitanicProducts = oTitanic.Products
# 建立第一个Product
oHull = oTitanicProducts.AddNewProduct("Hull_Type")
oHull.PartNumber = "Titanic's_Hull"
oHull.Name = "Unsinkable_Hull"
# 导入文件,我们导入上节创建的文件
oHull.AddMasterShapeRepresentation(r'C:\Users\QC\Desktop\CAAInfWriteDocument.CATPart')
delmia.ActiveWindow.ActiveViewer.Reframe() # 视图重构
# 以第一个Product为参考,创建基于其的新实例
oFunnelRef = oHull.ReferenceProduct
oFunnel2 = oTitanicProducts.AddComponent(oFunnelRef)
oFunnel2.Name = "Second_Funnel"
# iMatrix表示线变换数组,前九个分量表示旋转矩阵,后三个分量表示平移向量
iMatrix = [1, 0, 0, 0, 1, 0, 0, 0, 1, -120, 0, 0]
oFunnel2.Move.Apply(iMatrix) # 沿x方向平移-120mm