Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  GetEntity - PickedPoint & WCS

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:  GetEntity - PickedPoint & WCS (883 mal gelesen)
Huebi
Mitglied
Vermessungsing.


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

Beiträge: 107
Registriert: 08.01.2004

Intel Core Duo E6750@2.66GHz
NVIDIA GeForce 8600 GT
AutoCAD 2004, 2007, 2008
AcadMAP 2004 und 2007
Civil 3D 2008
ADT 2009

erstellt am: 26. Nov. 2007 11:11    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 liebe VBA-ler,

kann es möglich sein, dass der Befehl "GetEntity" die Variable "PickedPoint" nicht, wie in der VBA-Hilfe angegeben im WCS sondern im USC zurückgibt? Oder gibt's hier versionsbedingte Unterschiede? (Ich nutze "Pickedpoint" für die Fallunterscheidung, welche Seite einer Linie ausgewählt wurde).

Kennt evtl. von Euch jemand einen Walkaround, ohne vorher das Benutzerkoordinatensystem nach UCS umzustellen?

Für Antworten wäre ich natürlich wieder sehr dankbar!

Liebe Grüße aus München
Hübi

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 26. Nov. 2007 12:25    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 Huebi 10 Unities + Antwort hilfreich

..guck dir mal die TranslateCoordinates Methode des Utility-Objectes an.. --> F1

Sub Example_TranslateCoordinates()
    ' This example creates a UCS with an origin at 2, 2, 2.
    ' Next, a point is entered by the user. The WCS and UCS
    ' coordinates of that point are output in a Msgbox.
   
    ' Create a UCS named "New_UCS" in current drawing
    Dim ucsObj As AcadUCS
    Dim origin(0 To 2) As Double
    Dim xAxisPnt(0 To 2) As Double
    Dim yAxisPnt(0 To 2) As Double
   
    ' Define the UCS
    origin(0) = 2#: origin(1) = 2#: origin(2) = 2#
    xAxisPnt(0) = 5#: xAxisPnt(1) = 2#: xAxisPnt(2) = 2#
    yAxisPnt(0) = 2#: yAxisPnt(1) = 6#: yAxisPnt(2) = 2#
   
    ' Add the UCS to the UserCoordinatesSystems collection
    Set ucsObj = ThisDrawing.UserCoordinateSystems.Add(origin, xAxisPnt, yAxisPnt, "New_UCS")
    ThisDrawing.ActiveUCS = ucsObj
   
    ' Get the active viewport and make sure the UCS icon is on
    Dim viewportObj As AcadViewport
    Set viewportObj = ThisDrawing.ActiveViewport
    viewportObj.UCSIconOn = True
    viewportObj.UCSIconAtOrigin = True
    ThisDrawing.ActiveViewport = viewportObj
 
    ' Have the user enter a point
    Dim pointWCS As Variant
    pointWCS = ThisDrawing.Utility.GetPoint(, "Enter a point to translate:")
   
    ' Translate the point into UCS coordinates
    Dim pointUCS As Variant
    pointUCS = ThisDrawing.Utility.TranslateCoordinates(pointWCS, acWorld, acUCS, False)
   
    ' Display the coordinates of the point
    MsgBox "The point has the following coordinates:" & vbCrLf & _
            "WCS: " & pointWCS(0) & ", " & pointWCS(1) & ", " & pointWCS(2) & vbCrLf & _
            "UCS: " & pointUCS(0) & ", " & pointUCS(1) & ", " & pointUCS(2), , "TranslateCoordinates Example"

End Sub

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Huebi
Mitglied
Vermessungsing.


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

Beiträge: 107
Registriert: 08.01.2004

Intel Core Duo E6750@2.66GHz
NVIDIA GeForce 8600 GT
AutoCAD 2004, 2007, 2008
AcadMAP 2004 und 2007
Civil 3D 2008
ADT 2009

erstellt am: 26. Nov. 2007 12:52    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 Thomas,

Deiner (sehr schnellen) Antwort entnehme ich, dass ich mit der Vermutung, dass der "PickedPoint" im UCS und nicht wie beschreiben im WCS zurückgegeben wird, recht habe und ich nicht über ein versionsabhängiges Problem gestolpert bin.

Schade, dass VBA da so inkonsequent realisiert wurde. Da wird mir nichts anderes übrig bleiben als zu transformieren, was mit all seinen UCS-Möglichkeiten erfahrungsgemäss sehr aufwändig ist (z.B. unbenanntes UCS etc.)! 

Herzlichen Dank, liebe Grüße und 10 Punkte
vom Hübi

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

c.schojer
Mitglied



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

Beiträge: 299
Registriert: 23.05.2007

Autocad 2018

erstellt am: 26. Nov. 2007 12:59    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 Huebi 10 Unities + Antwort hilfreich

Naja es geht
ist mit ein wenig Aufwand verbunden
am besten einige Funktionen fürs Transformieren schreiben
und diese dann verwenden. (Das andere kannst dann vergessen)

Hat aber auch Vorteile das mitn Transformieren
(vor allem bei Arbeiten in 3D)
zb Text längs ner Linie Schreiben
Ohne Transformieren ein Horror zum Programmieren.
Mfg Chris

[Diese Nachricht wurde von c.schojer am 26. Nov. 2007 editiert.]

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