Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  winkel durch dynamischen schnittpunkt

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 präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  winkel durch dynamischen schnittpunkt (540 mal gelesen)
shodan
Mitglied


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

Beiträge: 0
Registriert: 03.04.2006

erstellt am: 03. Apr. 2006 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

hallo

hab heute euer forum durchforstet und bin nach anfänglichem guten vorankommens zu folgendem problem vorgedrungen.

ich hätte ganz gerne die orientierung eines liniensegments gemessen, wobei sich das unabhängig vom linientyp realisieren lassen sollte.

sollte in etwa so funktioniern, dass der benutzer einen punkt der linie wählt (kann auch ein endpunkt sein) und ich die richtung im punkt als winkel bekomme.

geht das? wenn ja wie?

bin für alle tipps und tricks dankbar.

grüsse
shodan

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 03. Apr. 2006 19:56    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 shodan 10 Unities + Antwort hilfreich

Hallo und herzlich willkommen im VBA Forum. 

Mir ist zwar relativ klar was du machen willst, aber wie ....

Das Problem wird sein eine Auswahl vom User anzufordern.
Einmal hast du die Möglichkeit ein Entity wählen zu lassen. Zu dem Entity bekommst du den angeklickten Punkt. Der müsste auf eventuell vorhandene Liniensegmente umgeformt werden um das Liniensegment zu ermitteln was du benötigst.

Code:

Dim Auswahl As AcadEntity
Dim Punkt As Variant
ThisDrawing.Utility.GetEntity Auswahl, Punkt, Chr$(10) & "Element wählen: "


Oder du fragst einen Punkt ab und ermittelst dort ob an dieser Stelle Elemente sind und verfährst wie oben
Code:

Dim selset As AcadSelectionSet
Set selset = ThisDrawing.SelectionSets.Add("MySel")
selset.Clear
selset.SelectAtPoint Punkt
Debug.Print selset.Count


Aber um die Rechnerei wird man wohl nicht ganz drum herum kommen.

Stelli

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

shodan
Mitglied


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

Beiträge: 0
Registriert: 03.04.2006

erstellt am: 03. Apr. 2006 21: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

danke für die rasche antwort.

das problem an der sache liegt leider daran, dass durchaus 2 linen am angegebenen punkt liegen können. ich hab mich daher für eine "linienunabhängige" variante entschieden und lasse mit objektfang nächster einen punkt auf der linie wählen (da es nur text ist, ist die 100%ige ausrichtung nicht sooo tragisch). das funktioniert jetzt schon sehr schön.

zwei fragen hat der blutige anfänger noch:
- gibt es eine möglichkeit ähnlich lisp die geschriebene funktion auch direkt über einen command anzusprechen (und nicht mittels -vbarun macro).
- gibt es standardobjekte für [Auswahl] und <Vorwahl> im command oder muss ich mir das selber zusammenbasteln? wenn ja - wie definiere ich variablen, die während der programmlaufzeit erhalten bleiben, oder einfach eine globale setzen?

danke im voraus.
shodan

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 03. Apr. 2006 21:38    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 shodan 10 Unities + Antwort hilfreich

Hallo,

du kannst in deine Startlisp folgende Lisp einbinden

Code:

(defun c:MeinBefehl (/) (vla-runmacro(vlax-get-acad-object) "MeinMacro"))


Damit kannst du dann das Makro "MeinMacro" auf der Befehlszeile mit "MeinBefehl" aufrufen. Den Befehl kannt du auch alternativ per VBA und Sendcommand ausführen.

Variablen lokale und globale kannst du in VBA nach belieben einrichten. Wird eine Variable innerhalb eine Prozedur (Sub/Function) mit Dim Variable deklariert gilt sie nur in der Prozedur. Wird sie in einen Klassenmodul mit Dim Variable deklariert gilt sie innerhalb des Moduls. Wird die Variable mit Public Variable deklariert, gilt sie im ganzen Projekt. Die Variable bleibt erhalten bis AutoCAD geschlossen wird.

Stelli

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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