Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  GetMinimumDistancePoints

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  GetMinimumDistancePoints (1753 mal gelesen)
yvi5555
Mitglied



Sehen Sie sich das Profil von yvi5555 an!   Senden Sie eine Private Message an yvi5555  Schreiben Sie einen Gästebucheintrag für yvi5555

Beiträge: 19
Registriert: 22.02.2006

erstellt am: 22. Feb. 2006 15:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Vorab: Ich bin absoluter Neuling, was die Macro-Programmierung angeht (beschäftige mich erst seit 2 Tagen damit). Also entschuldigt mich, wenn mein Frage- und Ausdrucksweiße vielleicht etwas unprofessionell ist.

Ich möchte mit meinem Macro den minimalen Abstand zwischen 2 beliebigen Flächen messen und an den Stellen zwei Punkte erzeugen. Mein Skript sieht bisher so aus (CATSkript):


----------------------------------------------------------------------
Sub CATMain()

Dim Was(0)
Was(0) = "HybridShape"

Dim UserSel As Selection
Set UserSel= CATIA.ActiveDocument.Selection
UserSel.Clear


'------------- Einlesen erste Fläche --------------

Dim E As CATBSTR
E = UserSel.SelectElement(Was, "Du kannst jetzt Element 1 wählen!", true)

If E = "Normal" Then
Else
MsgBox ("Abbruch")
End If

Dim MySelection1 as Selection
Set MySelection1 = UserSel.Item(1).Value


'----------------- Einlesen zweite Fläche -----------------

UserSel.Clear

Dim F As CATBSTR
F = UserSel.SelectElement(Was, "Du kannst jetzt Element 2 wählen!", true)

If F = "Normal" Then
Else
MsgBox ("Abbruch")
End If

Dim MySelection2 as Selection
Set MySelection2 = UserSel.Item(1).Value

MsgBox ("Die gewählten Flächen sind " & MySelection1.Name & " und " & MySelection2.Name)

'----------------- Minimale Abstand finden -----------
Dim Bauteil As Part
Set Bauteil = CATIA.ActiveDocument.Part
Dim Wzk3D As HybridShapeFactory
Set Wzk3D = Bauteil.HybridShapeFactory
Dim HBody As HybridBody
Set HBody = Bauteil.HybridBodies.Add
HBody.Name = "Messung"

Dim ref1 As Reference
Set ref1 = MySelection1

Dim ref2 As Reference
Set ref2 = MySelection2

Dim TheSPAWorkbench As Workbench
Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench ( "SPAWorkbench" )

Dim TheMeasurable As Measurable
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(ref2)

Dim Coordinates(8)
Set Coordinates = TheMeasurable.GetMinimumDistancePoints(ref1)

End Sub
----------------------------------------------------------------------


Es funktioniert soweit, nur mit dem Befehl GetMinimumDistancePoints habe ich meine Probleme (es kommt immer eine Fehlermeldung). Also geht es eigendlich nur um die letzten zwei Zeilen.
Im Forum wird darüber bisher nicht genauer geschrieben und das Buch "CATIA V5 - Effiziente Konstruktion mit Makros" schweigt dazu auch.
Was bisher dasteht ist aus der Onlinehilfe von CATIA V5, aber ich nehme an, dass es so nur im VB-Skript funktioniert.

Ich hoffe, dass mir jemand weiterhelfen kann. Ich bin shcon fast am verzweifeln.


Vielen, vielen Dank im Voraus
und viele Grüße

Yvonne

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lusilnie
Mitglied



Sehen Sie sich das Profil von Lusilnie an!   Senden Sie eine Private Message an Lusilnie  Schreiben Sie einen Gästebucheintrag für Lusilnie

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 23. Feb. 2006 00:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für yvi5555 10 Unities + Antwort hilfreich

Hallo Yvonne,

laut Reference ist GetMinimumDistancePoints als:

Code:
GetMinimumDistancePoints(iReference,oCoordinates())

angegeben. Ich kann es zwar nicht testen, doch vielleicht sollte Dein CODE dann etwa so lauten:
Code:
TheMeasurable.GetMinimumDistancePoints ref1, Coordinates

--> Keine Garantie - nur eine Idee!!!!


mfg,
Lusilnie

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



EPLAN Konstrukteur (m/w/d) im Sondermaschinenbau
NORD Engineering ist Ihr zuverlässiger Partner für anspruchsvolle technische Projekte und Herausforderungen in ganz Norddeutschland. Wir verbinden Talente und Profis mit den passenden Unternehmen für langfristige Projekte aus verschiedensten Bereichen wie z.B. Maschinenbau, Elektrotechnik oder Schiffbau.

Sie haben Ihr Studium oder Ihre Weiterbildung zum Techniker (m/w/d) abgeschlossen ...
Anzeige ansehenKonstruktion, Visualisierung
yvi5555
Mitglied



Sehen Sie sich das Profil von yvi5555 an!   Senden Sie eine Private Message an yvi5555  Schreiben Sie einen Gästebucheintrag für yvi5555

Beiträge: 19
Registriert: 22.02.2006

erstellt am: 23. Feb. 2006 08:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lusilnie,

super funktioniert!

Danke, danke, danke!!!!!!!!!!!!


Grüßle,
Yvonne

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz