Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  DrawingDimension Position abfragen

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:  DrawingDimension Position abfragen (434 mal gelesen)
AndyMattes
Mitglied
Key User for CAD,PLM and FEM Software


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

Beiträge: 26
Registriert: 13.05.2022

erstellt am: 27. Jul. 2022 08:43    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

Hi Community,

ich habe mal wieder eine Frage an euch. Besteht die Möglichkeit die X und Y Position einer DrawingDimension in dessen DrawingView abzurufen (änlich wie bei einem Textfeld mit MyText.x oder MyText.y)?
Ich hab in der Dokumentaion schon nachgeschaut hab aber nichts sinvolles gefunden. Hier fand ich nur eine Methode Sub GetBounderyBox, welches in die Richtung geht. Aber wenn ich das richtig verstehe wäre das ja ein neuer Sub und den kann ich dann ja auch nicht so einfach in eine IF Else abfrage implemntieren?

Könnt Ihr mir das weiterhelfen?

Dank euch

Grüße

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 27. Jul. 2022 09:53    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 AndyMattes 10 Unities + Antwort hilfreich

Hallo,

ich denke da wird es so direkt nichts geben (lasse mich aber sehr gerne vom Gegenteil überzeugen  ).

Ich nehme an du willst die Koordinaten haben um deinen Index Text zu platzieren.
Lass den Anwender doch durch einen Mausklick die Position des Indextextes bestimmen.

Stichwort:Indicate2D. bzw. IndicateOrSelectElement2D

Gruß Randle

------------------
Wer für nichts steht, fällt für alles!

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

AndyMattes
Mitglied
Key User for CAD,PLM and FEM Software


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

Beiträge: 26
Registriert: 13.05.2022

erstellt am: 27. Jul. 2022 13:47    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

Hi Randle

das hast du genau richtig erkannt. Ich benötige die Koordinaten um mein Index an dem DrawingDimension Object zu positonieren   

Das ganze mit dem Maus-Klick hab ich mir tatsächlich auch schon überlegt, wäre aber wirklich nur eine Notlösung. Weil die Idee hinter dem Makro ist, das mehrer Objekte auf einmal auswählen kann, die dann Automatis mit dem richtigen Index versehen werden. Durch das Klicken mit der Maus geht dann eigentlich der Sinn des Makros etwas verloren (Mal ganz abgesehen davon das ich dann das ganze Makro nochmal komplett umbauen müsste  ).

Kennst du die Methode GetBoundaryBox? Wen ich das richtig verstehe, sollte ich dadurch doch irgendwie an die Koordinaten der vier Eckpunkte des Schriftfeldes kommen, oder verstehe ich das Falsch?

Auszug aus der Dokumentaion:
-------------------------------------------------------------------------------------------------
o Sub GetBoundaryBox( CATSafeArrayVariant  oValues)

Get boundary box coordinates of dimension value.
Parameters:
oValues
List of boundary box coordinates (X1,Y1,X2,Y2,.....X4,Y4).
Example:
This example gets boundary box coordinates of MyDimension path.
MyDimension.GetBoundaryBox(oValues)
---------------------------------------------------------------------------------------------------

Ich hab allerdings auch noch nicht ganz verstanden wie ich das Ganze in meinen MakroCode implementieren soll.

Grüße

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 27. Jul. 2022 14:16    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 AndyMattes 10 Unities + Antwort hilfreich

Hallo,

ich glaube irgendwie noch nicht das du da mit der Funktion GetBoundaryBox wirklich weiterkommst. Ich habe da selber noch nicht mit gearbeitet, aber ich vermute das dort die BoundaryBox über die komplette Bemaßung (Maßline, Maßhilfsline, usw.) berechnet wird. Aber eine Bemaßung kann ja sehr nahe oder sehr weit weg von einer Körperkante sein. Und was ist mit Bemaßungsketten? Wie willst du dann aus den Koordinaten die richtige Position für deinen Indextext ermitteln?

Ich würde an deiner Stelle mal ein Testmakro schreiben, das dir dann die Koordinaten für eine ausgewählte Bemaßung (verschiedene ausprobieren!) ausgibt. Dann siehst du ja ob dir das was bringt oder nicht.

Gruß Randle

------------------
Wer für nichts steht, fällt für alles!

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 27. Jul. 2022 14:35    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 AndyMattes 10 Unities + Antwort hilfreich

Hallo,

also ich habe mit mal eben was zusammengestrickt, und die BoundaryBox scheint tatsächlich nur die Maßzahl "einzuboxen".

Code:
Sub CATMain()
Dim BM 'As DrawingDimension
Dim Koord(7)
If CATIA.ActiveDocument.Selection.Count = 0 Then Exit Sub
If TypeName(IA.ActiveDocument.Selection.Item(1).Value) <> "DrawingDimension" Then Exit Sub
Set BM = CATIA.ActiveDocument.Selection.Item(1).Value
BM.GetBoundaryBox (Koord)
Dim Pt As Point2D
Dim aView As DrawingView
Dim DrwDoc As DrawingDocument
Dim Fac As Factory2D
Set DrwDoc = CATIA.ActiveDocument
Set aView = DrwDoc.Sheets.ActiveSheet.Views.ActiveView
Set Fac = aView.Factory2D

Set Pt = Fac.CreatePoint(Koord(0), Koord(1))
Set Pt = Fac.CreatePoint(Koord(2), Koord(3))
Set Pt = Fac.CreatePoint(Koord(4), Koord(5))
Set Pt = Fac.CreatePoint(Koord(6), Koord(7))

End Sub


Vor dem Start des Makros musst du eine Bemaßung innerhalb der aktiven Ansicht auswählen.
Die Punkte habe ich nur zur Visualisierung erzeugt, die brauchst du später natürlich nicht.

Hinweis: Ich habe das jetzt mal eben schnell und schmutzig zusammengestrickt, bei dir sieht das dann natürlich besser aus ;-).

Gruß Randle

------------------
Wer für nichts steht, fällt für alles!

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

AndyMattes
Mitglied
Key User for CAD,PLM and FEM Software


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

Beiträge: 26
Registriert: 13.05.2022

erstellt am: 28. Jul. 2022 12: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

Moin,

na das hört sich doch mal sehr vielversprechend an 
Ich probiere das gleich mal aus und werde versuchen es dann in mein bestehenden Code zu implementieren.

Grüße

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