Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  VBA - Objekterkennung / Kollision erkennen

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:  VBA - Objekterkennung / Kollision erkennen (947 mal gelesen)
Der Fehlerteufel
Mitglied


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

Beiträge: 3
Registriert: 06.04.2020

erstellt am: 06. Apr. 2020 19:32    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 zusammen,
ich möchte ein Makro in VBA-Schreiben um automatisch eine Linie zeichnen zu können. Ich erstelle in einer For-Schleife PolarPoints [PolarPoint(Point, Angle As Double, Distance As Double)], welche direkt in der Schleife miteinander verbunden werden. Das klappt auch ganz gut.

Ich möchte nun, wenn ein Objekt der Linie "im Weg" ist, um das Objekt herum navigieren. Ich hatte mir das so vorgestellt, dass die "Distance As Double" für den PolarPoint, jedes mal durch eine eigene Schleife festgestellt wird, die in etwa so aussieht:
________________________________

While 1
      Distance = Distance + (1 / 1000)

    Continue While
      Punkt kollidiert == false

    Exit While
      Punkt kollidiert == true
________________________________

Wie ich genau die Schleife aufbaue muss ich noch probieren. Kommt darauf an was ich verwenden kann.

Dafür brauche ich aber irgend eine Erkennung, ob der PolarPoint mit einem Objekt in der Ebene kollidiert oder es an einem Punkt passiert. Gibt es dafür eine bestimmte Funktion?
Oder wäre ein anderer Ansatz einfacher?

Danke vorab für eure Meinungen.

Gruß Fehlerteufel

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 07. Apr. 2020 13: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 Nur für Der Fehlerteufel 10 Unities + Antwort hilfreich

Hallo Fehlerteufel, Willkommen im Forum 

So ganz habe ich Dein Ansinnen noch nicht verstanden aber wenn Du Kreuzungspunkte auf dem "Weg" suchst würde ich zunächst den Anfangs- und Endpunkt mit einer Linie verbinden. Anschließend kannst Du alle Objekte mit der IntersectWith - Methode untersuchen ob ein tatsächlicher Schnittpunkt vorhanden ist.
Wie Du dann diese Objekte umgehen möchtest und ob das überhaupt immer möglich ist? Aber das wirst Du herausfinden.

Grüße
Klaus   

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

Der Fehlerteufel
Mitglied


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

Beiträge: 3
Registriert: 06.04.2020

erstellt am: 07. Apr. 2020 15:32    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


beispiel1.PNG

 
Hallo Klaus!

Erst einmal danke für deine Antwort. Um es mal mehr zu veranschaulichen habe ich ein Bild angehängt.

Im Endeffekt zeichne ich gerade auf einer Fläche so wie in der gelben Linie dargestellt. Ich möchte aber so zeichnen, wie die grüne Linie verläuft. Ich muss also irgendwie erkennen, wo mein Objekt (rot) ist um dieses dann zu umlaufen.

Gruß Fehlerteufel

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



Dipl.-Ing., Bachelor, Master des Studiengangs Architektur EG 12 als Technische*n Sachbearbeiter*in im Objektzentrum 7 für den Bereich Hochbau 2 ? Technisches Gebäudemanagement

Die Landeshauptstadt Hannover sucht eine*n

Dipl.-Ing., Bachelor, Master des Studiengangs Architektur

EG 12

als Technische*n Sachbearbeiter*in im Objektzentrum 7 für den Bereich Hochbau 2 ? Technisches Gebäudemanagement.

In den Objektzentren (bauendes Sachgebiet) sind Sie für Neu-, Um- und Erweiterungsbauten tätig ...

Anzeige ansehenArchitektur
KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 07. Apr. 2020 20: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 Der Fehlerteufel 10 Unities + Antwort hilfreich

Hi,
Und wo ist das Problem? Du bekommst doch mit der erwähnten Methode die Schnittpunkte mit dem Kreis. Kannst damit auch beurteilen welche Bogenlänge die kürzere ist und mittels Parallelbogen hast Du den Weg. Wenn der abgestuft sein muß ist das natürlich aufwändiger aber auch machbar.

Grüße
Klaus 

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