|
CATIA V5 Programmierung : Makro programmieren um definierte Löcher zu finden
bgrittmann am 29.04.2013 um 08:54 Uhr (0)
ServusEs geht sogar noch einfacher: nur mit der Suche kann man schon die entsprechenden Bohrungen (mit dem passenden Durchmesser) selektieren:Code:Sub CATMain()Dim partDocument1 As PartDocumentSet partDocument1 = CATIA.ActiveDocumentDim selection1 As SelectionSet selection1 = partDocument1.Selectionselection1.Search "CATPrtSearch.Hole.Diameter=4,3mm,all"selection1.VisProperties.SetRealColor 255, 0, 0, 0End SubJetzt noch eine Inputbox für den Durchmesser einbauen, und fertig.GrußBernd------------------Warum ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 16:55 Uhr (0)
Hallo Henry,bei deinem Dictionary verstehe ich leider auch nicht genau wie ich ihn umbauen muss, damit er mir meine Durchmesser behält und diese abgleicht bzw. bei mehrfachvorkommen, den Zähler erhöht und nachher eine Tabelle ausgibt.Ich beschäftige mich leider erst seit kurzem mit der Makroprogrammierung bei Catia und bin daher noch nicht der aller geübteste,im Umgang mit VBA bzw.VBS Script.Danke aber trotzdem für dein BemühenGrußJan
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 09:33 Uhr (0)
Guten Tag,ich hoffe ihr könnt mir nochmal behilflich sein.Ich probiere im Moment ein Makro zu programmieren, welches in Catia ein Bauteil durchgehen und alle Löcher finden, den Durchmesser bemessen und alle gleichen Löcher mit der Gesamtanzahl in einer Tabelle ausgeben soll.Es soll nachher ungefähr folgend aussehen:3 x 50mm5 x 20mm4 x 10mmEs wäre natürlich schön wenn die Durchmesser der Größe nach geordnet wären, aber wenns leichter ist reicht es mir erst auch mal, wenn man überhaupt die Anzahl mit den daz ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 11:27 Uhr (0)
Habe das mal ausprobiert, muss aber ehrlich sein und zugeben, das ich den Dictionary Befehl nicht ganz verstehe.Bislang mein Code:Sub CATMain()----Dokument nach Löchern durchsuchenset selection1 = catia.activedocument.selectionselection1.Search ".hole,all"----Dictionary erstellen---- Durchmesser der Löcher herausfindenFor i = 1 To selection1.CountSet hole1 = selection1.Item2(i).ValueSet laenge = hole1.DiameterDim ausgabe As Integerausgabe = laenge.Value----Prüfen ob Durchmesser schon im Dictionaryt=0if aus ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
imation1999 am 01.05.2013 um 09:32 Uhr (0)
Ich würde es so machen:Code:Sub CATMain()Set selection1 = CATIA.ActiveDocument.SelectionDim length1 As LengthDim hole1Dim dDim ItDim KeDim C Counter = 1selection1.Search ".hole,all"Set d = CreateObject("Scripting.Dictionary")For i = 1 To selection1.Count Set hole1 = selection1.Item2(i).Value Set length1 = hole1.Diameter If d.Exists(length1.Value) Then C = C + 1 d.Item(length1.Value) = C Else C = 1 d.Add length1.Value, C End If NextIt = d.ItemsKe = d.KeysFor i = 0 To ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 11:27 Uhr (0)
Habe das mal ausprobiert, muss aber ehrlich sein und zugeben, das ich den Dictionary Befehl nicht ganz verstehe.Bislang mein Code:Sub CATMain()----Dokument nach Löchern durchsuchenset selection1 = catia.activedocument.selectionselection1.Search ".hole,all"----Dictionary erstellen---- Durchmesser der Löcher herausfindenFor i = 1 To selection1.CountSet hole1 = selection1.Item2(i).ValueSet laenge = hole1.DiameterDim ausgabe As Integerausgabe = laenge.Value----Prüfen ob Durchmesser schon im Dictionaryt=0if aus ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 16:55 Uhr (0)
Hallo Henry,bei deinem Dictionary verstehe ich leider auch nicht genau wie ich ihn umbauen muss, damit er mir meine Durchmesser behält und diese abgleicht bzw. bei mehrfachvorkommen, den Zähler erhöht und nachher eine Tabelle ausgibt.Ich beschäftige mich leider erst seit kurzem mit der Makroprogrammierung bei Catia und bin daher noch nicht der aller geübteste,im Umgang mit VBA bzw.VBS Script.Danke aber trotzdem für dein BemühenGrußJan
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
imation1999 am 01.05.2013 um 10:24 Uhr (0)
Ich würde es so machen (nach empfehlung von Bernd):Code:Sub CATMain()Dim length1 As LengthDim hole1Dim dDim ItDim KeConst CNew = 1 Counter New = 1Dim CAct Counter Actualdim TextSet Selection1 = CATIA.ActiveDocument.SelectionSelection1.Search ".hole,all"Set d = CreateObject("Scripting.Dictionary")For i = 1 To Selection1.Count Set hole1 = Selection1.Item2(i).Value Set length1 = hole1.Diameter If d.Exists(length1.Value) Then CAct = d.Item(length1.Value) CAct = CA ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 09:33 Uhr (0)
Guten Tag,ich hoffe ihr könnt mir nochmal behilflich sein.Ich probiere im Moment ein Makro zu programmieren, welches in Catia ein Bauteil durchgehen und alle Löcher finden, den Durchmesser bemessen und alle gleichen Löcher mit der Gesamtanzahl in einer Tabelle ausgeben soll.Es soll nachher ungefähr folgend aussehen:3 x 50mm5 x 20mm4 x 10mmEs wäre natürlich schön wenn die Durchmesser der Größe nach geordnet wären, aber wenns leichter ist reicht es mir erst auch mal, wenn man überhaupt die Anzahl mit den daz ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
imation1999 am 02.05.2013 um 15:07 Uhr (0)
Zitat:Original erstellt von bgrittmann:Servuskleiner Hinweis zum Makro:ich befürchte (gemäß meinem Test)dass bei diesem Makro die Zählungen von Bohrungen die gemustert wurden, die falsche Anzahl ermittelt wird.GrußBerndHallo Bernd,du hast natürlich Recht.Hast du vielleicht einen Vorschlag, wie man korrigieren kann?EDIT (VBAProject mit Sortierung von Durchmesser):Code:Sub CATMain()Dim length1 As LengthDim hole1Dim dDim ItDim KeConst CNew = 1 Counter New = 1Dim CAct Counter ActualDim Arr()Dim dTemp ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Namensänderung eines Produkt nicht sichtbar
HoBLila am 02.05.2013 um 13:10 Uhr (0)
Hallo S-Card,ich weiß es leider nicht, würde aber CATIA.RefreshDisplay = TRUE einmal versuchen. Ich nehme an ein Update aufs Produkt hast Du schon probiert?------------------Mit freundlichen Grüßen,Henry Schneideralias LilaEs gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,die Natur versucht, immer bessere Idioten zu bauenXing
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 06.05.2013 um 09:19 Uhr (0)
Hallo liebe Community,ich habe jetzt ein Makro geschrieben, welches alle Durchmesser eines Bauteils ausgibt und nach Art unterschiedlich einfärbt.Dazu habe ich eine Listbox benutzt, welche ich gerne sortiert haben würde. Ich habe mich auch schon im Internet etwas schlau gemacht, wie das funktionieren könnte, aber leider funktioniert das bei mir nicht so wie erwartet.Ich habe es mit : Listbox1.sorted=true ausprobiert, was aber leider zu keinem Ergebnis geführt hat.Bitte helft mir,wenn ihr irgendeine Idee ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Set of Relation Löschen
geekv5 am 07.05.2013 um 09:04 Uhr (1)
Hallo Uwe,müsste doch dann eigentlich so langen, kanns aber gerade nicht testen und bin noch stark angeschlagen vom gestrigen Abend:Code:Sub Delete_Relations(RefDoc As Document)Set oSel = CATIA.ActiveDocument.SelectionSelect Case TypeName(RefDoc)Case "PartDocument","ProductDocument"Case Else MsgBox "Unerwarteter Dokumententyp!", vbExclamation, "DOKUMENT: FEHLER" Exit SubEnd SelectoSel.clearoSel.Add RefDocoSel.search "CATKnowledgeSearch.AdvisorRelationSet,sel"oSel.Delete End SubAus der Function habe ...
|
In das Form CATIA V5 Programmierung wechseln |