1.) def. Public CurveProfil As HybridShapeCurveExplicit initfile as document initpart as Part initfilename, initpfad, newfilename, newpath, qpfad, qdatei(10) As String UselLine as Object ... Sub MAIN Set initpart = initfile.Part initfilename = initpart.Name initpfad = initfile.path & "\" qpfad = "D:\template\" qdatei(0) = "" qdatei(1) = "ZSB.CATProduct" qdatei(2) = "PROFIL.CATPart" qdatei(3) = "PROFIL_WORK.CATPart" ... qdatei(10) = "" ... Profil_Start_Form.Show 2.) Formular Private Sub linie_Click() Profil_Start_Form.Hide 'Auswahlfenster ausblenden Dim Auswahl Dim CurveSel Dim Was(0) Set UselLine = initfile.Selection UselLine.Clear ' User wählt Kurve aus ############################### Was(0) = "HybridShapeCurveExplicit" Auswahl = UselLine.SelectElement2(Was, "Kurve wählen.", False) Set CurveSel = UselLine.Item(1).Value Set CurveProfil = CurveSel 'Zuweisung auf globale Variable Profil_Start_Form.Show 'Auswahlfenster anzeigen End Sub Private Sub START_Click() FProfil_Start_Form.Hide '#### Product öffnen ################################ Dim d1 As Documents Set d1 = CATIA.Documents Dim pro1 As ProductDocument Set pro1 = d1.Open(qpfad & qdatei(1)) '"D:\template\ZSB.CATProduct" '#### Parts im Product aktivieren #################### Dim product1, product2 As Product Set product1 = pro1.Product Dim products1 As Products Set products1 = product1.Products For i = 1 To products1.Count Set product2 = products1.Item(i) product2.ActivateDefaultShape Next '#### Product mit Parts im DesignMode ################# product1.ApplyWorkMode DESIGN_MODE '#### Linie plazieren ############################### UselLine.Copy Dim par1 As PartDocument Set par1 = CATIA.Documents.Item(qdatei(2)) 'Set par1 = d1.Open(qpfad & qdatei(2)) '"D:\template\PROFIL.CATPart" 'Set par1 = CATIA.ActiveDocument par1.Activate Dim pd As Part Set pd = par1.Part Dim hyb3, hyb2, hyb1, hyb As HybridBodies Dim hb2, hb1, hb As HybridBody Set hyb3 = pd.HybridBodies Set hb2 = hyb3.Item("Input_Data") Set hyb1 = hb2.HybridBodies Set hb1 = hyb1.Item("Styling_Surfaces") Set hyb = hb1.HybridBodies Set hb = hyb.Item("Original_Geometry") '##\Input_Data\Styling_Surfaces\Original_Geometry Dim ziel As Selection Set ziel = par1.Selection 'par1 ziel.Clear Set ziel = par1.Selection ziel.Clear ziel.Add hb '## container der selektion hinzufügen ziel.PasteSpecial "CATPrtResultWithOutLink" 'ziel.Clear '## selektion erneut löschen '#### und Curve ersetzen ################################## Dim hys As HybridShapes Set hys = hb.HybridShapes Dim param As Parameters Set param = pd.Parameters Dim hsCurveEx As HybridShapeCurveExplicit Set hsCurveEx = param.Item(hys.Item(3).Name) ... '#### Update Parts ############################################### '#### Update Product ############################################## '#### Set Product- u. Partnamen ################################## Unload FProfil_Start_Form 'Userform schließen End Sub