|
CATIA V5 Programmierung : Formel im Produkt ändern
bgrittmann am 15.09.2020 um 17:22 Uhr (1)
ServusDie Schwierigkeiten entstehen, da in der Parameter- bzw Relation-Collection einer Baugruppe auch alle Parameter bzw Formeln der Einzellteile/Unterbaugruppen enthalten sind.So sollte es für eine Baugruppe und einem Part klappen:Code:Sub CATMain()Dim oDocument as ProductDocumentDim oProduct as ProductDim oParameter as ParametersDim oFormula as FormulaSet oDocument = CATIA.ActiveDocumentif TypeName(oDocument) = "ProductDocument" then Set oParameters = oDocument.Product.Parameterselseif TypeName(oDocume ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Drafting : Komplexe Zeichnung von grossem ASM
bgrittmann am 25.04.2009 um 11:32 Uhr (0)
ServusAlles soll auf ein Blatt passen, was wohl wenn fertig, so ca. 7m lang sein wird.Ist dass noch normgerecht? Warum nicht mehre einzelne Zeichnungen pro Schnittstelle/Baugruppe) und mehrer Blätter pro Zeichnung?Ich würde versuchen die Ansichten als angenäherte Ansichten darzustellen und ggf Bauteile kleiner zb 10mm nicht darstellen zu lassen (in den Eigenschaften der Ansicht)...jede Schraube/Verbindung/Umgebungsgoemetrie erstellen...Muss das wirklich sein?Ich denke, auf jeden Fall sollte jede Ansicht/Sc ...
|
| In das Form CATIA V5 Drafting wechseln |
|
CATIA V5 Programmierung : Body with Link ==> Link umhängen
bgrittmann am 14.09.2011 um 12:10 Uhr (0)
ServusUm eine Nachfrage nach dem Austauschen eines Körpers in einer Booleschen Operation (per PM) zu beantworten, anbei ein Beispiel:Code:Sub CATMain()Dim partDocument1 As PartDocumentSet partDocument1 = CATIA.ActiveDocumentDim part1 As PartSet part1 = partDocument1.PartDim bodies1 As BodiesSet bodies1 = part1.BodiesDim body1 As BodySet body1 = part1.MainBodyDim body2 As BodySet body2 = bodies1.Item("TEST")Dim oRef As ReferenceSet oRef = part1.CreateReferenceFromObject(body2)Dim shapes1 As ShapesSet shapes ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Bei selection ersetzen
bgrittmann am 19.11.2009 um 19:35 Uhr (1)
ServusÜber den Index des "Item" ist IMHO ein Umweg.Versuch es mal so ungetestet:Code:Sub CATmain() Dim oDoc As Document Dim oProd As Product Dim oSel As Object Dim myType(0) Dim myStatus As String Dim Itemname As String Set oDoc = CATIA.ActiveDocument Set oProd = oDoc.Product Set oSel = oDoc.Selection oSel.Clear myType(0) = "Product" myStatus = oSel.SelectElement2(myType, "Bitte Part auswählen", True) If myStatus = "Normal" Then Part = oSel.Item(1).Val ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Allgemein : Automatisches umbennen des Speichernamens
bgrittmann am 27.06.2019 um 11:29 Uhr (1)
ServusJa das geht.Das könnte so aussehen (ungetestet!, Ersatz für 2_Punkt-5_Suche und Ersetze.CATScript:Code:Sub AddPrefixToNameAndPartNumber(Prod, sPrefix) set refp = Prod.ReferenceProduct if left(refp.Name, Len(sPrefix) sPrefix then newpname = sPrefix & refp.Name refp.Name = newpname end if if left(refp.PartNumber, Len(sPrefix) sPrefix then newpname = sPrefix & refp.PartNumber refp.Name = newpname end if Set prods = Prod.Products pc = prods.Count If pc 0 then For i = 1 to pc AddPrefixToNameAndP ...
|
| In das Form CATIA V5 Allgemein wechseln |
|
CATIA V5 Programmierung : Makro zum Ändern von Texten in Details
bgrittmann am 20.11.2013 um 22:21 Uhr (1)
ServusProbiere es mal so (ungetestet):Code:Sub CATMain()Dim drawingDocument1 As DrawingDocumentDim selection1 As SelectionDim sOldString As StringDim sNewString As StringDim oText As DrawingTextSet drawingDocument1 = CATIA.ActiveDocumentSet selection1 = drawingDocument1.Selectionselection1.Search "CATDrwSearch.DrwText,all"sOldString = InputBox("Eingeben welcher Name oder Nummer ersetzt werden soll!!! ", "Test")sNewString = InputBox("Zu ersetzenden Namen oder Nummer eingeben", "Test")For I = 1 To selection1 ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Bei selection ersetzen
bgrittmann am 27.08.2020 um 13:05 Uhr (1)
Servus LionelDann musst du ReplaceComponent von der Products-Collection ausführen im dem sich das auszutauschende Teil befindet.Beispiel:Code:Sub CATMain() Dim oDoc As Document Dim oProducts As Products Dim oSel As Object Dim myType(0) Dim myStatus As String Dim oProductOld as Product Dim oProductNew as Product Set oDoc = CATIA.ActiveDocument Set oSel = oDoc.Selection oSel.Clear myType(0) = "Product" myStatus = oSel.SelectElement2(myType, "Bitte Part auswählen", True) If myStatus = "Normal" ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : View im CATDrawing kopieren
bgrittmann am 22.12.2011 um 17:32 Uhr (0)
ServusSollte vom Ablauf wie "von Hand gehen". Also Ansicht selektieren, kopieren, Zielblatt selektieren einfügen. Der Makrorekorder liefert folgendes (muss ggf noch an deine Randbedingungen angepasst werden): Code:Sub CATMain()Dim drawingDocument1 As DrawingDocumentSet drawingDocument1 = CATIA.ActiveDocumentDim selection1 As SelectionSet selection1 = drawingDocument1.Selectionselection1.ClearDim drawingSheets1 As DrawingSheetsSet drawingSheets1 = drawingDocument1.SheetsDim drawingSheet1 As DrawingSheetSet ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Componente oder CATProduct?
bgrittmann am 02.11.2012 um 12:57 Uhr (0)
ServusAnbei ein (zusammengebastelter) Code der auch in verschachtelten Strukturen funktioniert. Bei mir funktioniert der Vergleich der Objekt über "Is" nicht deshalb vergleiche ich den Fullname der CATProducts:Code:Sub Start()Dim RootProduct As ProductSet RootProduct = CATIA.ActiveDocument.ProductIf RootProduct.Products.Count 0 Then Call Rekursiv(RootProduct)End IfEnd Sub*****Sub Rekursiv(RootProduct As Product)Dim oProduct As ProductFor Each oProduct In RootProduct.Products If oProduct.ReferenceProduct ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Position von Achse auslesen
bgrittmann am 10.05.2013 um 15:38 Uhr (0)
ServusWillkommen im Forum. Bitte Systeminfo ausfüllen.Falls es sich bei der Achse um eine Linie handelt (mit der hab ich es getestet) geht es über eine Messung (SPA-Workbench). Für eine Linie kannst du die Richtung sowie die Koordinaten des Start-, Mittel- und Endpunktes ermitteln:Code:Sub CATMain()Dim productDocument1 As ProductDocumentSet productDocument1 = CATIA.ActiveDocumentDim product1 As ProductSet product1 = productDocument1.ProductDim constraints1 As ConstraintsSet constraints1 = product1.Connecti ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Selektion eines Wire durch CreateReferenceFromBRepName
bgrittmann am 18.08.2015 um 16:11 Uhr (1)
ServusFolgendes (sehr schlampig gecodetes) Makro erzeugt pro Teilsegment einer (zuvor selektierten) Kurve einen Extract:Code:Language="VBSCRIPT"Sub CATMain()Dim partDocument1 As DocumentSet partDocument1 = CATIA.ActiveDocumentDim part1 As PartSet part1 = partDocument1.PartDim hybridShapeFactory1 As FactorySet hybridShapeFactory1 = part1.HybridShapeFactoryDim hybridBodies1 As HybridBodiesSet hybridBodies1 = part1.HybridBodiesDim hybridBody1 As HybridBodySet hybridBody1 = hybridBodies1.Item(1)Dim selection1 ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Syntax Search Drafting.Text mit Variable
bgrittmann am 13.08.2015 um 14:43 Uhr (1)
Servus UweAnbei ein Beispiel.Code:Sub Catmain()Dim drawingDocument1 As DrawingDocumentSet drawingDocument1 = CATIA.ActiveDocumentDim drawingSheets1 As DrawingSheetsSet drawingSheets1 = drawingDocument1.SheetsDim drawingSheet1 As DrawingSheetSet drawingSheet1 = drawingSheets1.Item("Blatt .1")Dim drawingViews1 As DrawingViewsSet drawingViews1 = drawingSheet1.ViewsDim drawingView1 As DrawingViewSet drawingView1 = drawingViews1.Item("Main View")Dim drawingComponents1 As DrawingComponentsSet drawingComponents1 ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Ausgabedatei fuer PDF-Drucker
bgrittmann am 13.10.2016 um 15:31 Uhr (1)
ServusWenn du die DPI einstellen willst geht das wohl nur über einen Drucker.Hier ein Beispiel:Code:Sub CATMain()dim i as integerdim MyPageSetup as PageSetupdim sOutputDirectory as Stringdim sFileName as StringDim oDoc as DocumentDim oSheets as Sheetsdim oSheet as SheetsOutputDirectory = "C: emp"Set oDoc = CATIA.ActiveDocumentSet oSheets = oDoc.SheetsFor i = 1 to oSheets.Count If Not oSheets.Item(i).isDetail then Set oSheet = oSheets.Item(i) Set MyPageSetup = oSheet.PageSetup MyPageSetup.PaperSize = ca ...
|
| In das Form CATIA V5 Programmierung wechseln |