|
CATIA V5 Programmierung : CATIA.ActiveDocument.Part
bgrittmann am 29.05.2012 um 11:37 Uhr (0)
ServusBitte Systeminfo ausfüllen.Weil es sich vielleicht nicht um ein CATPart beim aktuellen Document handelt? (falls du innerhalb eines CATProducts eine Part aktiviert hast, ist das CATProduct immer noch das ActiveDocument)GrußBernd ------------------Warum einfach, wenn es auch kompliziert geht.[Diese Nachricht wurde von bgrittmann am 29. Mai. 2012 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Detail Component in Drawing verschieben
bgrittmann am 30.05.2012 um 10:12 Uhr (1)
ServusJede Komponente hat die Eigenschaft x und y. zB:Code:Sub CATMain()Dim drawingDocument1 As DrawingDocumentSet drawingDocument1 = CATIA.ActiveDocumentDim drawingSheets1 As DrawingSheetsSet drawingSheets1 = drawingDocument1.SheetsDim drawingSheet1 As DrawingSheetSet drawingSheet1 = drawingSheets1.ActiveSheetDim drawingViews1 As DrawingViewsSet drawingViews1 = drawingSheet1.ViewsDim drawingView1 As DrawingViewSet drawingView1 = drawingSheet1.Views.Item(2)Dim drawingComponents1 As DrawingComponentsSet dra ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Selection - gültige Typen / The method Item failed
bgrittmann am 31.05.2012 um 11:41 Uhr (0)
ServusWas mir noch dazu auffällt: AFAIR werden im Makro immer die Booleschen-Werte TRUE und FALSE verwendet (nicht so wie von CATIA dargestellt wahr/unwahr)GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Selection - gültige Typen / The method Item failed
bgrittmann am 31.05.2012 um 14:22 Uhr (0)
ServusMein Vorschlag zu dem Makro:- Die for-Next-Schleife rückwärts abarbeiten- falls der Parameter nicht umbenannt wurde diesen aus der Selection entfernen (Remove2)- Selection ganz am Schluss löschen.zB (ungetestet):Code:Public Sub search()Dim wastesel As SelectionDim wastename As StringSet catia = GetObject(, "CATIA.Application") nur zum test notwendigSet wasteobj = catia.ActiveDocumentSet wastesel = wasteobj.Selectionwastesel.search "Knowledgeware.Parameter.Name !=Origin*;all" If wastesel.Count 0 Then ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Update als Batch-Job
bgrittmann am 04.06.2012 um 11:01 Uhr (0)
ServusUnterschied zwischen CATStart und CNEXT sollte in einem meiner Links beschrieben sein (und beide Funktionieren)Startet CATIA wenn du das "-batch" weg lässt? (ggf die Zeile nach und nach zusammensetzen und testen)Wurde eine Lizenz gezogen nachdem du Catia zunächst manuell gestartet hast? Verwendest du das gleichen Enviroment wie bei manuellen Start?GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroerstellung
bgrittmann am 18.06.2012 um 09:03 Uhr (0)
ServusAnbei ein Beispiel (CATScript) zum ausblenden aller GeoSets:Code:Language="VBSCRIPT"Sub CATMain()Dim partDocument1 As DocumentSet partDocument1 = CATIA.ActiveDocumentDim selection1 As SelectionSet selection1 = partDocument1.Selectionselection1.Search "CATGmoSearch.OpenBodyFeature,all"Dim selection2 As SelectionSet selection2 = partDocument1.SelectionDim visPropertySet1 As VisPropertySetSet visPropertySet1 = selection2.VisPropertiesvisPropertySet1.SetShow 1selection2.Clear End SubGrußBernd------ ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Federberechnung / Formel / Einheiten
bgrittmann am 20.06.2012 um 08:41 Uhr (0)
ServusNach meinem Verständnis müsste das Ergebnis die Einheit Pa (= N_m2). Leider ist die Einheit "N_mm2" in CATIA nicht definiert.Ggf könntest du den Umweg über einen Parameter des Typs "String" für das Ergebnis nutzen:ToString (Spannung / 1e6Pa) + "N/mm²"GrußBerndPS: Bitte Systeminfo ausfüllen.------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA Meldungen unterdrücken
bgrittmann am 22.06.2012 um 17:38 Uhr (0)
ServusWie aktualisierst du die Views? Warum musst du die anderen Views sperren?Wenn du die Methode "ForceUpdate" (drawingView1.GenerativeBehavior.ForceUpdate) verwendest wird nur die entsprechende Ansicht aktualisiert. Zuvor kannst du abfragen ob die View nicht gesperrt ist.GrußBernd ------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part im Product neu positionieren
bgrittmann am 27.06.2012 um 12:37 Uhr (0)
ServusIch würde das Problem so angehen:Code:Sub CATMain()Dim productDocument As productDocumentDim childProduct As ProductDim RootProduct As ProductDim arrayPosition(11)Set productDocument = CATIA.ActiveDocumentSet RootProduct = productDocument.ProductFor Each childProduct In RootProduct.Products Position auslesen childProduct.Position.GetComponents arrayPosition Position korrigieren arrayPosition(9) = arrayPosition(9) * 0.001 arrayPosition(10) = arrayPosition(10) * 0.001 arrayPosition(11) = arrayP ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA Meldungen unterdrücken
bgrittmann am 26.06.2012 um 10:40 Uhr (0)
ServusKönntest du dies nicht auch über eine Szene darstellen,dann würdest du dir das sperren bzw das "Umbauen" der Baugruppe sparen?GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Einfügen einer Skizze in ein OGS
bgrittmann am 26.06.2012 um 12:25 Uhr (0)
ServusIMHO musst du der Funktion "CreateSpline" einen Array mit den 2D-Kontrollpunkten übergeben, und nicht die Koordinaten dazu.Code:TopPoints(nIndex) = newPointDas redimensionieren des Arrays muss dann natürlich auch angepasst werden.Anbei ein Beispiel-Code:Code:Sub CATMain()Dim partDocument1 As PartDocumentSet partDocument1 = CATIA.ActiveDocumentDim part1 As PartSet part1 = partDocument1.PartDim hybridBodies1 As HybridBodiesSet hybridBodies1 = part1.HybridBodiesDim hybridBody1 As HybridBodySet hybridBod ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Komponenten in Products (offline) ersetzen
bgrittmann am 06.07.2012 um 07:06 Uhr (0)
ServusBitte Systeminfo ausfüllen.Catia musst du auf jedenfall starten. Folgende Möglichkeiten fallen mir zur Leistungssteigerung ein:- im Cache-Mode arbeiten: nur vereinfachte Geometrie wird geladen- Referenzdokumente nicht automatisch laden, nur die Teile/Producte die du benötigstGrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 via COM-Schnittstelle - MatLab
bgrittmann am 16.07.2012 um 16:18 Uhr (0)
ServusIMHO kannst du nicht von extern auf die intern von CATIA verwendeten Formel für Flächen zugreifen.GrußBerndPS: ggf geht das über CAA (sehr teuer und komplexer als VBA)------------------Warum einfach, wenn es auch kompliziert geht.[Diese Nachricht wurde von bgrittmann am 16. Jul. 2012 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |