Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Punkte und Vektoren

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Punkte und Vektoren (1165 mal gelesen)
Peter Schriebl
Mitglied
selbstständig


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

Beiträge: 13
Registriert: 16.10.2010

Windows XP
Autocad 2009
Visual Studio 2010 Express

erstellt am: 09. Dez. 2010 20: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 Forum !

Ich doktere nun schon länger an folgender Problematik herum:

Ich möchte zB.zu einem Punkt (Point3d,Point3D) einen Vektor (Vector3d,Vector3D)addieren und wieder einen Punkt herausbekommen.
Da gibt es eine Menge toller Vector-Methoden in der Klasse
"System.Windows.Media.Media3D" aber der Zugriff endet immer mit der
Fehlermeldung "Nicht erlaubte Umwandlung !"
Sind die Autcad Point(s)3d bzw.Vector(s)3d etwa nicht mit denen von
Microsoft kompatibel ??
Anbei ein nicht funktionierendes Codebeispiel:

Imports System.Windows.Media.Media3D
Module Mod6_Vektorfunktionen
    Function FC_PktPlusVekt(ByVal Punkt1, ByVal Vektor) As Vector3D
        Dim Punkt2 As Point3D
        Punkt2 = Point3D.Add(Punkt1, Vektor)
        Return Punkt2
    End Function
End Module

Wer weiß Rat ??

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


Ex-Mitglied

erstellt am: 09. Dez. 2010 20:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Sind die Autcad Point(s)3d bzw.Vector(s)3d etwa nicht mit denen von Microsoft kompatibel ??

Zumindest nicht (mit denen aus Namespace xxx.Media.Media3D) voneinander vererbt, damit mal nicht direkt konvertierbar.

Du hast aber bei AutoCAD auch einen Namespace Autodesk.AutoCAD.Geometry, mit diesen lassen sich Vektorrechnungen hervorragend bewerkstelligen.

- alfred -

------------------
www.hollaus.at

Peter Schriebl
Mitglied
selbstständig


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

Beiträge: 13
Registriert: 16.10.2010

Windows XP
Autocad 2009
Visual Studio 2010 Express

erstellt am: 09. Dez. 2010 21:17    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 Alfred !

Im angeführten Namespace kann ich keine Methode finden, die Vektoren und auch Punkte verabeiten kann, obwohl ein Punkt ja auch nur ein (Orts)Vektor ist oder besser gesagt von einem Ortsvektor definiert wird.
Auch sind die Vektor-Methoden dort eher sehr eingeschränkt vorhanden.
Frage: Gibt es vielleicht eine geeignete Typenumwandlung ähnlich
"CType" ??

Grüße Peter

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


Ex-Mitglied

erstellt am: 09. Dez. 2010 21:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

sowohl Geometry.Point3D wie auch Geometry.Vector3D können z.B. mit '+' gerechnet werden.
Von den Methoden, die eingebaut sind, welche gehen Dir denn ab? Für mich hat's bisher (2D und 3D) gereicht.

Typumwandlung von/zu Media3D.xxx kannst Du Dir ja selbst als Funktion machen. CType bzw. TryCast ==> nee. 

- alfred -

------------------
www.hollaus.at

Peter Schriebl
Mitglied
selbstständig


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

Beiträge: 13
Registriert: 16.10.2010

Windows XP
Autocad 2009
Visual Studio 2010 Express

erstellt am: 09. Dez. 2010 22: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

Hallo Alfred!

Das was mir dzt.am meisten abgeht ist, dass ich von einem Ausgangspunkt P1
durch zB.Addition eines Vektors V1 nicht unmittelbar zum neugesuchten
Punkt P2 kommen kann.
Ich brauch das zum verschobenen Einfügen von Blöcken.
Natürlich könnte ich den Block auch nach dem Einfügen verschieben,
aber das ist nicht so klass !

Grüße Peter

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


Ex-Mitglied

erstellt am: 09. Dez. 2010 22:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

vielleicht verstehe ich nur falsch. 
Was fehlt bei diesem Beispiel:

Code:
Dim tPnt As Geometry.Point3d = New Geometry.Point3d(1, 1, 1)
Dim tVec As Geometry.Vector3d = New Geometry.Vector3d(2, 2, 2)
Dim tRes As Geometry.Point3d = tPnt + tVec

Ein Punkt PLUS ein Vektor ergibt neuen Punkt, das wär's doch, oder?

- alfred -

------------------
www.hollaus.at

Peter Schriebl
Mitglied
selbstständig


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

Beiträge: 13
Registriert: 16.10.2010

Windows XP
Autocad 2009
Visual Studio 2010 Express

erstellt am: 10. Dez. 2010 15:24    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 Alfred !

Ersteinmal danke für die schnelle Hilfe !
Dein Codebeispiel ist genau das was ich brauche: Addition eines
Vektors zu einem Punkt mit Resultat Punkt.
Aber: Bei mir funktioniert das nicht. Es kommt die Fehlermeldung
"Die angegebene Umwandlung ist ungültig."
Auch wenn ich sortenreine Acad-Punkte und Vektoren verwende:

Select Case Bezug
        Case "innen"
            BezVekt = New Vector3d(a , b , 0)
            Pkt1= Pkt1 + BezVekt '... hier Umwandlungsfehler !!
        Case "mitte"
            .....
End Select

Anmerkung:
Vektor BezVekt ist im Modul deklariert, Punkt Pkt1 wird als Parameter
in die Sub-Prozedur übergeben.
           

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

Peter Schriebl
Mitglied
selbstständig


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

Beiträge: 13
Registriert: 16.10.2010

Windows XP
Autocad 2009
Visual Studio 2010 Express

erstellt am: 10. Dez. 2010 16:41    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 !

Ich habe den Fehler gefunden:
Der Punkt-Parameter Pkt1 muß an die
Sub-Prozedur als Point3d typisiert übergeben werden da er
ansonsten nicht als solcher erkannt wird und bei der Addition mit dem Vektor die Fehlermeldung "Ungültige Umwandlung" ausgelöst wird.

Grüße Peter

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