Andrea Amedei
Guest
Guten Morgen.
Es ist ein paar Tage, dass ich meinen Kopf breche, ohne auf den Kopf zu kommen. Seit Ich muss oft die solide Funktion, die Sie im Bild unten auf verschiedenen Löchern sehen, Ich dachte an die Schaffung eines Makros, die diesen Prozess automatisiert.
das solide Merkmal zu bauen ist ein "prism", der als Grundskizze die Projektion eines Loches und einen größeren Kreis hat, der einen Durchmesser n mal größer als der projiziert (n Parameter zu setzen). Auch die Extrusionshöhe ist ein Parameter.
um dies zu tun, habe ich eine Benutzerform erstellt, die Sie in der Abbildung unten sehen können. der Benutzer muss die 3 Tasten in der Reihenfolge verwenden (Erdauswahl, wählen Sie Lochkante, erstellen Sie solide) und die beiden Textfelder des d/d-Verhältnisses und der Profilextrusionshöhe.
Ich gebe zu, ich kenne die vba-Programmierung auf Excel, aber sie sind wirklich zuerst mit Catia. im Moment, was ich getan habe, ist:
"Auswählen der Oberfläche"
privater Sub select_oberfläche_button_click_click()
dim myselection
dim myarray(0) als Gesicht
dim strreturn als String
Teil 1 als Teil
dim partdocument1 als partdocument
myhybridbodies als Hybridbodies
myselection = catia.activedocument.selection
myselection.clear
me.hide
strreturn = myselection.selectelement2(array("face"), "wähle ein Gesicht:", falsch)
wenn Strreturn = "normal" dann
'redim keep myarray(ubound(myarray) + 1)
myarray(ubound(myarray)) = myselection.item2(1).value
Ende
textbox1.text = myarray(0).name
ich.show
Endteil
Knopf "Kantenloch auswählen"
Private Sub select_edge_button_click_click()
dim myselection
dim myarray(0) als Rand
dim strreturn als String
Teil 1 als Teil
dim partdocument1 als partdocument
myselection = catia.activedocument.selection
myselection.clear
me.hide
strreturn = myselection.selectelement2(array("edge"), "select a edge:", false)
wenn Strreturn = "normal" dann
'redim keep myarray(ubound(myarray) + 1)
myarray(ubound(myarray)) = myselection.item2(1).value
Ende
textbox2.text = myarray(0).name
ich.show
Endteilan dieser Stelle erscheint in den längeren Textfeldern der Name(?) der ausgewählten Oberfläche und Kante. drücken "crea solid" Ich möchte die Software zu bauen:
1. einen Skizzenplan auf der ausgewählten Oberfläche (unter Verwendung des Namens in der Benutzerform? )
2. vom Rand des gewählten Loches her ergibt den Durchmesser und dessen Mitte
3. nimmt den Rand des Loches und projiziert es auf diesem Boden
4. schafft einen neuen Kreis mit der gleichen Mitte der projizierten Kante und Durchmesser d=n*d
5. kommt aus der Skizze
6. Stranghöhe in Benutzerform eingestellt
7. deaktivieren Sie alles und reinigt alle Benutzerform für eine neue Operation
Ich hoffe, jemand kann mir helfen, auch mit dem Makro-Record kann ich nicht verstehen, wie das Programm funktioniert.
Grüße,
Andrea
Es ist ein paar Tage, dass ich meinen Kopf breche, ohne auf den Kopf zu kommen. Seit Ich muss oft die solide Funktion, die Sie im Bild unten auf verschiedenen Löchern sehen, Ich dachte an die Schaffung eines Makros, die diesen Prozess automatisiert.
das solide Merkmal zu bauen ist ein "prism", der als Grundskizze die Projektion eines Loches und einen größeren Kreis hat, der einen Durchmesser n mal größer als der projiziert (n Parameter zu setzen). Auch die Extrusionshöhe ist ein Parameter.


"Auswählen der Oberfläche"
privater Sub select_oberfläche_button_click_click()
dim myselection
dim myarray(0) als Gesicht
dim strreturn als String
Teil 1 als Teil
dim partdocument1 als partdocument
myhybridbodies als Hybridbodies
myselection = catia.activedocument.selection
myselection.clear
me.hide
strreturn = myselection.selectelement2(array("face"), "wähle ein Gesicht:", falsch)
wenn Strreturn = "normal" dann
'redim keep myarray(ubound(myarray) + 1)
myarray(ubound(myarray)) = myselection.item2(1).value
Ende
textbox1.text = myarray(0).name
ich.show
Endteil
Knopf "Kantenloch auswählen"
Private Sub select_edge_button_click_click()
dim myselection
dim myarray(0) als Rand
dim strreturn als String
Teil 1 als Teil
dim partdocument1 als partdocument
myselection = catia.activedocument.selection
myselection.clear
me.hide
strreturn = myselection.selectelement2(array("edge"), "select a edge:", false)
wenn Strreturn = "normal" dann
'redim keep myarray(ubound(myarray) + 1)
myarray(ubound(myarray)) = myselection.item2(1).value
Ende
textbox2.text = myarray(0).name
ich.show
Endteilan dieser Stelle erscheint in den längeren Textfeldern der Name(?) der ausgewählten Oberfläche und Kante. drücken "crea solid" Ich möchte die Software zu bauen:
1. einen Skizzenplan auf der ausgewählten Oberfläche (unter Verwendung des Namens in der Benutzerform? )
2. vom Rand des gewählten Loches her ergibt den Durchmesser und dessen Mitte
3. nimmt den Rand des Loches und projiziert es auf diesem Boden
4. schafft einen neuen Kreis mit der gleichen Mitte der projizierten Kante und Durchmesser d=n*d
5. kommt aus der Skizze
6. Stranghöhe in Benutzerform eingestellt
7. deaktivieren Sie alles und reinigt alle Benutzerform für eine neue Operation
Ich hoffe, jemand kann mir helfen, auch mit dem Makro-Record kann ich nicht verstehen, wie das Programm funktioniert.
Grüße,
Andrea