|
CATIA V5 Programmierung : Variablen anstatt festen Dateinamen
mattu82 am 14.07.2005 um 10:32 Uhr (0)
Hallo, ich bin noch sehr neu in der Makroprogrammierung in V5. Ich möchte gerne ein Makro erstellen, dass mir ein V5 CATPart in ein .model umwandelt. Bisher habe ich folgendes Language="VBSCRIPT" Sub CATMain() Set partDocument1 = CATIA.ActiveDocument partDocument1.ExportData "/home/catguest/catia_files/Data/parts/Bracket_HDDgif.model", "model" End Sub Das funktioniert auch noch recht gut, allerdings wird mit diesem Makro natürlich jede Datei in Bracket_HDDgif.model umgewandelt. Wie setze ich da jetzt ein ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Variablen anstatt festen Dateinamen
MaxZ am 14.07.2005 um 10:54 Uhr (0)
Hallo! versuchs mal mit: Language = "VBSCRIPT" Sub CATMain() Set partDocument1 = CATIA.ActiveDocument MsgBox partDocument1.FullName hlp = Split(partDocument1.FullName, ".CAT") newname = hlp(0) & ".model" Set partDocument1 = CATIA.ActiveDocument partDocument1.ExportData newname, "model" End Sub setzt natürlich voraus, dass dein alter dateiname ein CATPart oder CATProduct is. sonst musst den Split Befehl an deine Bedürfnisse anpassen. Hoff s hilft, Ciao Max
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Feature erzeugen
Cars10 am 14.07.2005 um 14:16 Uhr (0)
jep, da muss man wahrscheinlich vorher ein punkt erzeugen. nur die normale hole-funktion von catia nimmt gleich beide werte. naja halb so wild, ich nehm mir mal die powercopy sache zur brust dankeschön für eure hilfe frage: in einem part können ja mehrere Körper vorhanden sein, wie bekomme ich den namen des körpers heraus in dem grad gearbeitet wird?
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Feature erzeugen
MaxZ am 14.07.2005 um 14:28 Uhr (0)
einfach nach einem grad erzeugten feature suchen und mit .parent.parent.name kommst du an den namen des übergeordneten körpers. bei mir läuft: Sub catmain() Set sel = CATIA.ActiveDocument.Selection sel.Search ("Name= Block.1 ,all") koerper = sel.Item(1).Value.Parent.Parent.Name msgbox koerper End Sub vermutlich müsst auch direkt nach der erzeugung zb pad1.parent.parent.name funktionieren, wär vermutlich schneller. besonders wenns um große teile geht können die suchen sehr lange daue ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Feature erzeugen
MaxZ am 14.07.2005 um 16:24 Uhr (0)
jo, kamman! Per kleiner Verschachtelung und mit IF und NEXT. Sieht dann ungefähr so aus: Sub CATMain() Dim body_array() As String Set partDocument1 = CATIA.ActiveDocument Set selection1 = partDocument1.Selection Selection aller Koerper selection1.Search "((CATStFreeStyleSearch.BodyFeature + CATPrtSearch.BodyFeature) + CATGmoSearch.BodyFeature),all" Zählen der Elemente der Selection1 bodycount = selection1.Count ReDim body_array(bodycount) ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Versionsnummer von CATIA in den Zeichnungskopf
cmb am 14.07.2005 um 16:49 Uhr (0)
Hallo Liebmer, wie trägst du denn die Parameter auf der Zeichnung ein? G Norbert [Diese Nachricht wurde von cmb am 14. Jul. 2005 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro Dichte auslesen
achulio am 14.07.2005 um 17:26 Uhr (1)
Jedes Part hat die Eigenschaft Density, die du als Zahl mit der Genauigkeit double auslesen kannst!Also z.B. Dim MyPart As PartSet MyPart = PartDocument.Item("Filename")Dim Density As DoubleDensity = MyPart.DensityFolgendes sagt die CATIA-Hilfe dazu:Property Density( ) As double (Read Only) Returns the part density. Example: The following example displays the density of the part: Set partRoot = partDoc.Part MsgBox "The density is " & partRoot.Density...aber keine Ahnung was du mit Umschlingkreis meinstGru ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Feature erzeugen
MaxZ am 14.07.2005 um 19:49 Uhr (0)
Naja, teils kann man sich Makros mit dem Recorder aufzeichnen, is beim Suchen immer ganz hilfreich, und sonst hier im Forum suchen oder in den Hilfen von VB oder CATIA. Wenn man mal so nen Grundstock an Funktionen und befehlen drauf hat und a bissl durchblickt, wie das alles so gestrickt wird, kann man schon einige Aufgabenstellungen lösen. Liegt dann eher am ausknobeln, wie man das ganze mit IFs und NEXTs und so verwurstet. (Bei mir wenigstens) Bin eigentlich auch noch recht neu auf dem Gebiet der Makrop ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Dokument.saved
Florian.Held am 13.07.2005 um 21:03 Uhr (0)
Würde mich auch interessieren ^^ ------------------ Es gibt nichts langweiligeres als ein vollständiges, stabil laufendes Catia...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : polyline aus vorhandenen punkten erstellen
MaxZ am 15.07.2005 um 09:29 Uhr (0)
Hallo, probier mal folgenden code: Sub CATMain() Set partDocument1 = CATIA.ActiveDocument Set part1 = partDocument1.Part Set parameters1 = part1.Parameters Set intParam1 = parameters1.Item("AnzahlPunkteParameter") num_points = intParam1.Value Set hybridShapeFactory1 = part1.HybridShapeFactory Set hybridShapePolyline1 = hybridShapeFactory1.AddNewPolyline() Set hybridBodies1 = part1.HybridBodies Set hybridBody1 = hybridBodies1.Item("OpenBody.1") Set hybridShapes1 = hybridBody1.HybridShape ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : polyline aus vorhandenen punkten erstellen
sashlanger am 15.07.2005 um 09:46 Uhr (0)
erstmal vielen Dank für die super schnelle Antwort. ich habe den source jetzt so angepasst: Language="VBSCRIPT" Sub CATMain() Set partDocument1 = CATIA.ActiveDocument Set part1 = partDocument1.Part Set parameters1 = part1.Parameters Set intParam1 = parameters1.Item("Anzahl_der_Punkte_br") num_points = intParam1.Value Set hybridShapeFactory1 = part1.HybridShapeFactory Set hybridShapePolyline1 = hybridShapeFactory1.AddNewPolyline() Set hybridBodies1 = part1.HybridBodies Set hybridBody1 = h ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : polyline aus vorhandenen punkten erstellen
MaxZ am 15.07.2005 um 09:53 Uhr (0)
ah, okay! dann versuch: Language="VBSCRIPT" Sub CATMain() Set partDocument1 = CATIA.ActiveDocument Set part1 = partDocument1.Part Set parameters1 = part1.Parameters Set intParam1 = parameters1.Item("Anzahl_der_Punkte_br") num_points = intParam1.Value Set hybridShapeFactory1 = part1.HybridShapeFactory Set hybridShapePolyline1 = hybridShapeFactory1.AddNewPolyline() Set hybridBodies1 = part1.HybridBodies Set hybridBody1 = hybridBodies1.Item("Beruehrpunkte_bonnet_rear") Set hybridShapes1 = ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Feature erzeugen
Cars10 am 15.07.2005 um 10:15 Uhr (0)
morgen, ich versuche die ganze zeit in die andere richtung zu splitten. das funzt aber nicht Set Product = Catia.ActiveDocument name = Product.Name name = Split(name, ".", 1) MsgBox name ich möchte mir ausgeben lassen ob es sich um ein CATProduct oder CATPart handelt in dem grad gearbeitet wird. wie kann man das realisieren, weil das macro was ich anwende nur im Part(OpenInNewWindow) funzt. es soll dann quasi ein hinweis erscheinen "Wechsle in Partumgebung mit Open in new Window"
|
In das Form CATIA V5 Programmierung wechseln |