|
CATIA V5 Programmierung : VBA Makro - Affinität (Volumen)
bgrittmann am 14.08.2011 um 18:33 Uhr (0)
ServusIch gehe davon aus, dass die Affinitätsfunktion im PartDesign CATIA-intern mit der Affinität im GSD erstellt/berechnet wird.Über die Funktion Hybridshape kannst du dann auf die Befehle der GSD-Funktion (HybridShapeFactory) zugreifen.Wenn du den Ursprung festlegen willst (muss ein Punkt sein) geht dass zB über (siehe auch Doku zu AddNewAffinity):ShapeAffinity1.Hybridshape.AxisOrigin oReference (oReference = Referenz des Punktes)GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Properties im Part erzeugen
bgrittmann am 11.07.2016 um 16:51 Uhr (1)
ServusSchau mal hier.Meine generelle Empfehlung:- erst eine Grundlagenschulung/Tutorial zu VBA machen (zB für Excel)- mit einem Buch in die API von Catia einarbeiten- überlegen wie man Probleme erst manuell in Catia löst- prüfen ob sich dies auch mit einem Makro so machen lässt der ob es generell einen einfacheren Weg gibt.GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Dokument geöffnet
bgrittmann am 04.05.2010 um 09:37 Uhr (0)
ServusEin bestimmtes Dokument oder nur allgemein?Anbei ein Beispiel für eine Allgemeine Überprüfung am Makroanfang:Code:Sub CATMain()Dokument geöffnet?If CATIA.Documents.Count = 0 Then Box = MsgBox("Es wurde kein aktives Dokument identifiziert" + Chr(10) + "Bitte oeffnen Sie zuerst ein Dokument und starten Sie dann das Makro erneut", vbInformation, "Hinweis") Exit SubEnd IfDim oDocument As DocumentSet oDocument = CATIA.ActiveDocumentPart geöffnet?If TypeName(oDocument) "PartDocument" Then Box = MsgBox( ...
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Mass
bgrittmann am 20.04.2015 um 12:22 Uhr (15)
ServusBei der Masse sollte beides gehe:Code:Sub CATMain()Dim productDocument1 As ProductDocumentSet productDocument1 = CATIA.ActiveDocumentDim product1 As ProductSet product1 = productDocument1.ProductDim products1 As ProductsSet products1 = product1.ProductsDim product2 As ProductSet product2 = products1.Item(1)MsgBox product2.Analyze.MassDim product2 As ProductSet product2 = products1.Item(1).ReferenceProductMsgBox product2.Analyze.MassEnd SubGrußBernd------------------Warum einfach, wenn es auch kompliz ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Auf generierte Elemente im Drafting zugreifen
bgrittmann am 18.05.2010 um 21:34 Uhr (0)
ServusDie Objektauflösung des Editor liefert folgendes:Code:Set drawingDocument1 = CATIA.ActiveDocumentSet drawingSheets1 = drawingDocument1.SheetsSet drawingSheet1 = drawingSheets1.Item("Blatt .1")Set drawingViews1 = drawingSheet1.ViewsSet drawingView1 = drawingViews1.Item("Vorderansicht")Set geometricElements1 = drawingView1.GeometricElementsSet line2D1 = geometricElements1.Item("Linie.1")Näheres siehe Doku.GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Define in Work Makro ????
bgrittmann am 19.05.2010 um 19:11 Uhr (0)
ServusDieses Makro lässt sich erzeugen, indem du rekursiv (Forensuche) durch die Produktstruktur durch gehst, und bei jedem Part deinen Code ausführst.Alternativ könnte dass noch durch eine Selektion gehen, zB (ungetestet):Code:Sub CATMain()Dim productDocument1 As DocumentSet productDocument1 = CATIA.ActiveDocumentDim selection1 As SelectionSet selection1 = productDocument1.Selectionselection1.Search "CATProductSearch.Part,all"For X = 1 To selection1.Count2 Dim part As part Set part = selection1.Item ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Ausrichtung einer Zeichnungstabelle / Text in Tabelle
bgrittmann am 24.05.2010 um 11:47 Uhr (0)
ServusWie man den Text in einer Tabelle Formatiert: siehe hierAnchorPoint der Tabelle und Cellenausrchtung geht bei mir so:Code:Sub CATMain()Set Drawing = CATIA.ActiveDocumentDim oTable As DrawingTableSet oTable = Drawing.Sheets.Item(1).Views.Item(1).Tables.Item(1)oTable.AnchorPoint = CatTableBottomRightoTable.SetCellAlignment 1, 1, CatTableMiddleRightEnd SubGrußBernd------------------Warum einfach, wenn es auch kompliziert geht.[Diese Nachricht wurde von bgrittmann am 24. Mai. 2010 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Selektion auf Baum beschränken
bgrittmann am 27.05.2010 um 09:51 Uhr (0)
ServusÜber:Code:Sub CATMain() Set myDoc = CATIA.ActiveDocument Set ActivePart = CATIA.ActiveDocument.Part Selektion definieren und leeren ---- Dim UserSel As Object Set UserSel = myDoc.Selection UserSel.Clear ------------------------------------- Auswahl festlegen ------------------- Dim Was1(0) Was1(0) = "Body" -------------------------------------- Dim Auswahl Auswahl = UserSel.SelectElement2(Was1, "Bitte den Körper auswählen.", False) UserSel.VisProperties.SetPick catV ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : .activate und .inactivate und .isactivate funktioniert nicht
bgrittmann am 27.05.2010 um 18:11 Uhr (0)
ServusAnbei ein Beispiel. Vielleicht hilft dass etwas weiter:Code:Sub CATMain()Dim oPart As PartSet oPart = CATIA.ActiveDocument.PartDim oSel As SelectionSet oSel = CATIA.ActiveDocument.SelectionoSel.Search "CATGmoSearch.GSMIntersect,all"For X = 1 To oSel.Count2Dim Objekt As ObjectSet Objekt = oSel.Item2(X).ReferenceIf oPart.IsInactive(Objekt) ThenMsgBox Objekt.name & " ist deaktiviert"oPart.Activate ObjektEnd IfoPart.UpdateNextEnd SubGrußBerndPS: Über "Set Objekt = oSel.Item2(X).Value" läuft bei mir dass ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part oder Product aus Drawing öffnen
bgrittmann am 13.06.2010 um 19:45 Uhr (0)
ServusDie Fall unterscheidng könnte über das Abfangen eines Fehlers geschehen. zB:Code:Sub CATMain()On Error Resume NextSet odoc = CATIA.ActiveDocumentSet oView = odoc.Sheets.ActiveSheet.Views.ActiveViewSet oProduct = oView.GenerativeBehavior.Document.ParentoName = oProduct.FullNameIf Err.Number 0 Then Set oProduct = oView.GenerativeBehavior.Document.Parent.Parent.Parent oName = oProduct.FullName Err.ClearEnd IfOn Error GoTo 0CATIA.Documents.Open (oName)End Sub(ungetestet). Allerdings fehlen dabei noch ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Parameter über Python auslesen
bgrittmann am 29.06.2010 um 12:58 Uhr (0)
ServusDu müsstest doch "länge" oder "lenght" schreiben (Kleinschreibung), da du zuvor den String mit LCase konvertiert hast.GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Parameter über Python auslesen
bgrittmann am 10.06.2010 um 14:54 Uhr (0)
ServusIMHO sollte die VB-Befehle (siehe V5Automation.chm) in Python ähnlich verwendbar zu sein.Warum Programmierst du in Python und nicht in VBA?GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Parameter über Python auslesen
bgrittmann am 15.06.2010 um 16:54 Uhr (0)
ServusBücher siehe: zb catia.cad.deHandbuch: siehe V5Automation.chm im CATIA InstallationsverzeichnisGrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |