Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Mitte und Richtungsvektor ermitteln

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
  
PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Mitte und Richtungsvektor ermitteln (1957 mal gelesen)
otm
Mitglied
Bauingenieur


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

Beiträge: 192
Registriert: 26.08.2009

MS Win 10
AutoCAD Civil 3D 2023.2.1 Update
VBA Enabler 2019
MS Access Database Enginge X64
MSO 365 (64bit)

erstellt am: 16. Sep. 2014 18:10    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 Forum,

ich suche schon länger nach Beiträgen, zum Thema Mitte von *Linien und wie ich den Richtungsvektor in der Mitte einer Polylinie bestimmen kann.
Kann mir jemand einen Tipp geben, wie die Eigenschaft oder der Befehl heißen könnte.
Konkret:
Ich habe einen Auswahlsatz mit verschiedenen Elementen (Linien, PL) gebildet und möchte in der Mitte eines jeden Elements einen Block 'parallel' zum Element einfügen.
Dieser Block hat in einem seiner Attribute stehen, wie lang das Element ist.

Kann mir da jemand weiterhelfen?

------------------
Grüße aus München
Christian

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: 2855
Registriert: 02.05.2006

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

erstellt am: 16. Sep. 2014 19:04    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 otm 10 Unities + Antwort hilfreich

Hallo Christian,
Grüße nach "nebenan" 

Die Mitte von Linien kannst Du recht einfach berechnen ( XA + (XE-XA)/2 ), die Länge bekommst Du über LineObj.length, den Winkel über LineObj.angel, allerdings ist die Ausgabe immer in Radian (Bogenmaß), benötigst Du eine andere Angabe muß dieser Winkel umgerechnet werden.

Die Mitte von PL wird da schon schwieriger. Soll es direkt die Hälfte sein, gilt es die PL "abzuschreiten" und auf der Hälfte der Polyline ( PolylineObj.length / 2) sich den Punkt zu berechnen. Ich gehe jetzt mal nicht davon aus, dass Du den Schwerpunkt der PL brauchst.

Was Du noch überprüfen solltest ob die Längenangabe den 2D oder 3D-Wert anzeigt.

Grüße vom Ammersee
Klaus 

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

otm
Mitglied
Bauingenieur


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

Beiträge: 192
Registriert: 26.08.2009

MS Win 10
AutoCAD Civil 3D 2023.2.1 Update
VBA Enabler 2019
MS Access Database Enginge X64
MSO 365 (64bit)

erstellt am: 16. Sep. 2014 21: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

Hallo KlaK,

wenn ich eine Linie anklicke, dann habe ich einen Griff an der Mitte der Linie.
Der muss doch irgendwie abfragbar sein.
Ebenso bei einem Bogen.
Und wenn ich bei einer PL die Länge abfrage, dann muss ich doch mit Länge/2 oder Teilen, 2 Teile den Mittelpunkt der PL bekommen.

Wenn ich das alles habe, wie bekomme ich dann den Richtungsvektor am Einfügepunkt des Bogens bzw. der PL?

------------------
Grüße aus München
Christian

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: 2855
Registriert: 02.05.2006

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

erstellt am: 17. Sep. 2014 00:02    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 otm 10 Unities + Antwort hilfreich

Hallo Christian,

Mir zumindest ist nichts derartiges bekannt, das habe ich bisher immer alles selber berechnet.
Für den Bogen in einer Polylinie gibt es dazu noch die Bulge-Eigenschaft, Zugriff darauf mit Polyline.getBulge. Aus den Werten kann dann der Mittelpunkt des Kreises und aus den Winkeln der Mittelpunkt des Bogens berechnet werden.
Selbst bei einem einfachen Bogen muß man den Mittelpunkt auf der Kreislinie berechnen lassen. Ich vermute mal dass Autodesk bei der Griffdarstellung diese auch temporär berechnet, diese Funktionen, zumindest in VBA, aber nicht veröffentlicht hat.

Ist einmal Fleißarbeit aber dann hat man die Funktion 
Info zur Umrechnung des Bulge z.B. hier

Kann aber mal nachsehen, wo ich das habe. Hab es schon lange nicht mehr gebraucht.

Grüße
Klaus 

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4191
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 17. Sep. 2014 12:42    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 otm 10 Unities + Antwort hilfreich

Hallo Christian,

in der .Net-API und auch in Lisp (vlax-..) gibt es ein Curve-Object. Da kannst du die Punkte auf einer Polyline/Linie/Kreis/... leicht berechnen.
Auch das Berechnen der Tangente/Normale/Anstieg an einem solchen Punkt auf einem Curve-Object ist mit *.Firstderivate und *.Secondderivate in der API integriert - also alles was du suchst, recht einfach zu ermitteln.
Ich kenne nun die VBA-API nicht so genau, aber vielleicht reichen dir die Stichpunkte, dass du da suchen kannst.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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



Anzeige:Infos zum Werbeplatz >>

AVC Zone CAD APP für Tiefbau, Möbel, Allgemeine Werkzeuge

Create a closed loop around a curve at a specified distance. Merge several such contours.

otm
Mitglied
Bauingenieur


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

Beiträge: 192
Registriert: 26.08.2009

MS Win 10
AutoCAD Civil 3D 2023.2.1 Update
VBA Enabler 2019
MS Access Database Enginge X64
MSO 365 (64bit)

erstellt am: 17. Sep. 2014 17:27    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 Holger,

vielen Dank für die Stichworte,
ich werde mal suchen und melde mich dann wieder.

------------------
Grüße aus München
Christian

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)2025 CAD.de | Impressum | Datenschutz