|
CATIA V5 Programmierung : Winkel zwischen 2 Linien messen
MaxZ am 29.07.2005 um 12:51 Uhr (0)
Hallo! Und ich nochmal! Versuchs mal hiermit (Liniennamen musst noch anpassen): Sub catmain() Set part1 = CATIA.ActiveDocument.part Set line1 = part1.FindObjectByName("Line.1") Set line2 = part1.FindObjectByName("Line.2") Set rk1 = part1.CreateReferenceFromObject(line1) Set rk2 = part1.CreateReferenceFromObject(line2) Dim TheSPAWorkbench As Workbench Dim aTheMeasurable, bTheMeasurabl ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Dateinamen eines CATParts im Spec-Tree des CATProducts
MaxZ am 09.06.2005 um 14:04 Uhr (0)
Mahlzeit Carsten! Hatte neulich ein ähnliches Problem, habs so gelöst: Sub catmain() Dim document As document Dim splitname As string Set document = CATIA.ActiveDocument splitname = Split(document.Name, .CATPart ) Set pro = document.Product pro.PartNumber = splitname(0) End Sub Funktioniert mit CATParts. für Produkte vermutlich nicht viel anders. Hoff s hilft Ciao Max
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Openbody nach Flächen durchsuchen und gegebenenfalls löschen
MaxZ am 06.07.2005 um 13:14 Uhr (0)
hallo! wenn der openbody einen bestimmten namen oder bestimmt namesbestandteile hat würde ich zuerst den suchen. set selection1 = catia.activedocument.selection selection1.search( name= OpenBodyName ,all) dann würd ich nach den entsprechenden elementen in dem body suchen. die kürzel für flächen oder was auch immer gibt dir der macro- recorder aus. laufen lassen während du normal von hand suchst. anders ist auch noch dass statt all dann sel in den klammern steht. dann such er nur in der aktuellen selec ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Umbenennung von Kopierten Flächen
MaxZ am 08.07.2005 um 07:40 Uhr (0)
stimmt, habs .value. vergessen! die version haut hin bei mir: Sub Unterroutine_1_0() Set selection1 = CATIA.ActiveDocument.selection selection1.Search ( name = Querstrebe_1 ,all ) selection1.Copy Set selection2 = CATIA.ActiveDocument.selection selection2.Search ( name = Streben-Trim ,all ) selection1.Paste selection1.Item(1).Value.Name = Strukturraster Set selection3 = CATIA.ActiveDocument.selection selection3.Search ( name = Klebe-Quer_1 ,all ) selection3.Copy Set selection4 = CATIA.ActiveDocument.selec ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Punkt statt Komma als Dezimaltrennzeichen
MaxZ am 08.07.2005 um 14:38 Uhr (0)
umstellen kann ichs zumindest nicht hängt vermutlich ja mit der catia-sprachumgebung zusammen?!? zur not würd ichs mit meinem persönlichen favoriten, dem split-befehl, machen. hlp = split(vektor_string_alt, , ) vektor_string_neu = hlp1(0) & . & hlp1(1) & , & hlp1(2) & . & hlp1(3) & , &hlp1(4) & . & hlp1(5) haut so natürlich nur hin wenn immer nachkommastellen vorhanden sind. mehr fällt mir dazu leider auch nicht ein. vielleicht bringts dich trotzdem bissl weiter, ciao max [Diese Nachricht ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Feature anordnung
MaxZ am 12.07.2005 um 14:59 Uhr (0)
bilder weiß ich doch zu würdigen! wie man was ans ende verschiebt per makro weiß ich leider auch nicht. ich würds so machen das ichs such, selektier, kopier, lösch, MainBody suchen & selektieren, einfügen und umbenennen. und dann stehts am ende. zB: Sub CATMain() Set partDocument1 = CATIA.ActiveDocument Set selection1 = partDocument1.Selection selection1.Search Name= FEATURE ,all Set partDocument1 = CATIA.ActiveDocument Set selection1 = partDocument1.Selection selection1.Copy ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part in einer Prodkuktstruktur ansprechen
MaxZ am 12.07.2005 um 15:33 Uhr (0)
hallo! zum einfügen eines openbody muss dass erstellte part ausgewählt sein. das part erzeugen und openbody einfügen könnte so aussehen: Sub CATMain() Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument Dim product1 As Product Set product1 = productDocument1.Product Dim products1 As Products Set products1 = product1.Products Dim product2 As Product Set product2 = products1.AddNewComponent( Part , Neuerzeugtes_Part ) Se ...
|
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
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 : 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 : 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
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 |