Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Return x/y Position von Drawing Component

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:  Return x/y Position von Drawing Component (404 / 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: 09. Jan. 2023 10: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


Run-timeerror13.jpg


Quelcodedebug.jpg

 
Hallo Community,

ich habe ein kleinen Testcode geschrieben, weile ich den Zugriff auf Objecte des Typs "DrawingComponent" in ein bestehndes Makro impementieren möchte.
Der Zugriff auf diesen Objecttyp ist ja auch keine problem und eigentlich sollte auch die Abfrage über dessen x und y position kein problem darstellen.
Laut Beschreibung aus der Dokumentation ist das immer mit ".x"  oder  ".y"  möglich.

Auszug aus der Dokumentaition:--------------------------------------------------------------------------------------------------------------------------------------------

o Property x( ) As double 

Returns or sets the x coordinate of the drawing component instance position. It is expressed with respect to the view coordinate system. This coordinate, like any length, is measured in millimeters.
Example:
This example sets the x coordinate of the position of the MyComponent drawing component instance to 5 inches. You need first to convert the 5 inches into millimeters.
NewXCoordinate = 5*25.4
MyComponent.x =  NewXCoordinate

o Property y( ) As double 

Returns or sets the y coordinate of the drawing component instance position. It is expressed with respect to the view coordinate system. This coordinate, like any length, is measured in millimeters.
Example:
This example sets the y coordinate of the position of the MyComponent drawing component instance to 5 inches. You need first to convert the 5 inches into millimeters.
NewYCoordinate = 5*25.4
MyComponent.y =  NewYCoordinate
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Wenn ich aber mit dieser Methode versuche die Position abzufragen, beschwert sich der Debugger das ein Typ Missmatch vorliegen soll  
... Und das Hauptproblem daran ist, das ich wirklich nicht weiß wieso  

Ich hoffe Ihr könnt mir bei meinem Problem helfen.

Liebe Grüße
Andy


Nachfolgend noch den Quellcode des Testprogramms (im Anhang sind noch zwei Bilder mit der Fehlermeldung und des Debuggers):

Option Explicit
Public drawingDocument1 As DrawingDocument
Public drawingSheets1 As DrawingSheets
Public drawingSheet1 As DrawingSheet
Public drwViews1 As DrawingViews
Public drwView1 As DrawingView
Public USel
Public MyComp As DrawingComponent
Public PosX As Double

Sub CATMain()
Set drawingDocument1 = CATIA.ActiveDocument                 'selection active DRW documents
Set drawingSheets1 = drawingDocument1.Sheets                'select all sheets of active DRW documents
Set drawingSheet1 = drawingSheets1.ActiveSheet              'select the first sheet of the active DRW document
Set drwViews1 = drawingSheet1.Views                         'creat a list of all Drawing Views
Set drwView1 = drwViews1.ActiveView                         'selection of the first DrawingView

Dim I As Integer

Set USel = CATIA.ActiveDocument.Selection

For I = 1 To USel.Count
    If USel.Item(I).Type = "DrawingComponent" Then
        MsgBox ("it work")
        Set MyComp = USel.Item(I)
        PosX = MyComp.x
        MsgBox PosX
    Else
        MsgBox ("don't work")
    End If
Next

End Sub


[Diese Nachricht wurde von AndyMattes am 09. Jan. 2023 editiert.]

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 09. Jan. 2023 13:05    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

Servus

Ohne es getestet zu haben, probier mal:

Code:
Set MyComp = USel.Item(I).Value
Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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: 09. Jan. 2023 13:40    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

Servus Bernd,

danke für die Hilfe. Das war der Fehler!

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