Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Lotfußpunkt erstellen

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
Autor Thema:   Lotfußpunkt erstellen (1085 mal gelesen)
oandres
Mitglied



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

Beiträge: 80
Registriert: 24.05.2004

Windows XP
Acad 2004

erstellt am: 02. Mrz. 2005 09: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

Hallo,

ich möchte das Erstellen eines Lotfußpunktes etwas vereinfachen. Bisherige Vorgehensweise:

-Konstruktionslinie erstellen, welche die beiden Endpunkte der gedachten Linie verbindet
-Konstruktionslinie / Winkel / Bezug / 90° erstellen die rechtwinklig auf der anderen Klinie steht
-KLinie durch Lotpunkt zeichnen
-Punkt im Schnittpunkt der beiden KLinien erstellen

Von einem anderen Programm (Straps) kenne ich eine einfachere Methode:

- Lotpunkt anklicken
- Anfangspunkt der Linie anklicken
- Endpunkt der Linie anklicken
- Lotfußpunkt wird entsprechend konstruiert

Gibt es eine Möglichkeit diese komfortable Methode in Acad zu realisieren ?

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9553
Registriert: 01.12.2003

AutoCAD 2.5 - 2017, Civil 3D, MAP 3D, LDD, MDT, ARD
Inventor AIP 4-201x
Win7x64, Win 10

erstellt am: 02. Mrz. 2005 10:46    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 oandres 10 Unities + Antwort hilfreich

Der Weg über die Konstruktionslinie scheint mir etwas umständlich.
Soll eine neue Linie (Ordinate) von einem beliebigen Anfangspunkt Lotrecht auf eine bestehende Linie gefällt werden, nimmt man dazu den Objektfang LOT
Eingetippt etwa so:
Zitat:

Befehl: LINIE
Ersten Punkt angeben: Startpunkt picken
Nächsten Punkt angeben oder [Zurück]: LOT nach bestehende Linie anpicken

Nächsten Punkt angeben oder [Zurück]:



------------------
Mit freundlichem Gruß

Udo Hübner
----------
Der versteckte Fehler bleibt nie unentdeckt.

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2457
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 02. Mrz. 2005 11: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 oandres 10 Unities + Antwort hilfreich

Hi,
ich hab' mal in meinen Lisp-Altbeständen gegrast und 'ne Lotlinien Funktion gefunden die ich um PLine-Funktionalität erweitert hatte...
Nicht elegant programmiert aber funzt :-)
Ist halt' alter Code *schäm*
Das Ausgangsprogramm "lotlin" ist nicht von mir, habe aber auch k.A. mehr wo das her ist...
Code:

(VL-LOAD-COM)

;;;PROGRAMM  : LOTLIN.LSP
;;;ZWECK    : Lotrechte Linie
;;;Autor    : ise
;;;Datum    : 26.06.96

;; Erweiterung für Plinesupport Marc Scherer

;;;----------------MAIN
(defun C:LOTLIN
      (/ P1 P2 TYP WIN PT PT1 PH OBJ PF L PINTER ELEM ALT-OSMODE)
  (princ "\nZeichnen einer Senkrechten.")
  (setq ELEM (nentsel
              "\nSenkrechte auf... (Polylinie oder Linie wählen): "
            ) ;_ end of nentsel
  ) ;_ end of setq
  (if ELEM
    (progn (setq OBJ (entget (car ELEM))
                TYP (cdr (assoc 0 OBJ))
          ) ;_ end of setq
          (if (eq TYP "VERTEX")
            (setq OBJ (entget (cdr (assoc 330 OBJ)))
                  TYP (cdr (assoc 0 OBJ))
            ) ;_ end of setq
          ) ;_ end of if
          (if (wcmatch TYP "*LINE")
            (progn
              (setq ALT-OSMODE (getvar "osmode"))
              (setvar "OSMODE" 0)
              (cond
                ((eq TYP "LINE")
                  (setq P1  (cdr (assoc 10 OBJ))
                        P2  (cdr (assoc 11 OBJ))
                        WIN (angle P1 P2)
                  ) ;_ end of setq
                )
                (t
                  (setq WIN (CALCULATE-ANGLE
                              (cdr (assoc -1 OBJ))
                              (cadr ELEM)
                              (cadr ELEM)
                            ) ;_ end of CALCULATE-ANGLE
                  ) ;_ end of setq
                )
              ) ;_ end of cond
              (setq PF (getpoint "\nFußpunkt: ")
                    PH (polar PF (+ WIN (* 0.5 pi)) 0.1)
                    PT (getpoint
                          "\nEntfernung picken oder SPACE/ENTER für Längeneingabe: "
                        ) ;_ end of getpoint
              ) ;_ end of setq
              (if PT
                (progn (setq PT1    (polar PT WIN 0.1)
                              PINTER (inters PF PH PT PT1 NIL)
                        ) ;_ end of setq
                ) ;_ end of progn
                (progn (setq L      (getreal "\nLänge: ")
                              PT    (getpoint "\Seite für Lotrechte wählen: ")
                              PT1    (polar PT WIN 0.1)
                              PINTER (inters PF PH PT PT1 NIL)
                              WIN    (angle PF PINTER)
                              PINTER (polar PF WIN L)
                        ) ;_ end of setq
                ) ;_ end of progn
              ) ;_ end of if
              (command "_.line" PF PINTER "")
              (setvar "osmode" ALT-OSMODE)
            ) ;_ end of progn
            (princ "\nObjekt ist keine Polylinie oder Linie !")
          ) ;_ end of if
    ) ;_ end of progn
    (princ "\nKein Objekt gepickt!")
  ) ;_ end of if
  (princ)
) ;_ end of defun

;;; Berechnet den Winkel des Pline-Segments
;;; -> Obj = Elementname
;;; -> Pkt = Pickpunkt auf Element
;;; -> Inspkt = Punkt auf dem Objekt.
(defun CALCULATE-ANGLE (OBJ PKT INSPKT / PKTLST WNKL)
  (setq OBJ    (->VLA-OBJECT OBJ)
        PKTLST (VERTEX-SUCHEN OBJ (vlax-curve-getclosestpointto OBJ INSPKT))
  ) ;_ end of setq
  (if (IS-AT-START? OBJ PKT)
    (setq WNKL (angle (car PKTLST) (cadr PKTLST)))
    (setq WNKL (angle (cadr PKTLST) (car PKTLST)))
  ) ;_ end of if
;;;  (setq wnkl (- wnkl (/ (* 2 pi) 4)))
;;;  (list (polar inspkt wnkl 1.5) wnkl)
) ;_ end of defun

;;; ermittelt, ob der Pickpunkt näher am Start-oder End-Punkt des linearen Objekts war
;;; das ist wichtig für die Abstandsberechnung (gegen oder in Objektrichtung rechnen?)
;;; -> Obj = Elementname
;;; -> Pkt = Pickpunkt auf Element
(defun IS-AT-START? (OBJ PKT /)
  (< (2P-DIST OBJ PKT (START-PKT? OBJ)) ;_ Ist der Pickpunkt näher am Startpunkt?
    (2P-DIST OBJ PKT (END-PKT? OBJ))
  ) ;_ end of <
) ;_ end of defun

;;; Endpunkt in WKS für lineares Objekt ermitteln
(defun END-PKT? (ENAME /)
  (vlax-curve-getendpoint (->VLA-OBJECT ENAME))
) ;_ end of defun

;;; Startpunkt in WKS für lineares Objekt ermitteln
(defun START-PKT? (ENAME /)
  (vlax-curve-getstartpoint (->VLA-OBJECT ENAME))
) ;_ end of defun

;;; Berechnung der Länge zwischen zwei Punkten
;;; die auf einer Polylinie liegen
;;; -> Punkt1, Punkt2 und Elementname
;;; <- Länge zwischen diesen Punkten
(defun 2P-DIST (ENAME PT1 PT2 /)
  (setq ENAME (->VLA-OBJECT ENAME))
  (abs (- (vlax-curve-getdistatpoint
            ENAME
            (vlax-curve-getclosestpointto
              ENAME
              PT1
            ) ;_ end of vlax-curve-getclosestpointto
          ) ;_ end of vlax-curve-getDistAtPoint
          (vlax-curve-getdistatpoint
            ENAME
            (vlax-curve-getclosestpointto
              ENAME
              PT2
            ) ;_ end of vlax-curve-getClosestPointTo
          ) ;_ end of vlax-curve-getdistatpoint
      ) ;_ end of -
  ) ;_ end of abs
) ;_ end of defun


;;; Funktion zum Aufinden der Stützpunkte zwischen denen der übergebene Punkt liegt.
;;; Prinzip:
;;; "Alle Vertices in Entfernungen umrechnen,
;;; den gewählten Punkt ebenso, und dann sehen, wo er dazwischen liegt."
;;; -> Punkt, Ename
;;; <- Liste mit zwei Punkten (WCS) in Laufrichtung des linearen Elementes
;;; Oder aber nil (z.B. Punkt nicht auf Polyline)
;;; d.h. (car "Liste") = 1. Punkt und (cadr "Liste") = 2. Punkt
;;; Nicht Funktional bei geschlossener Polylinie
(defun VERTEX-SUCHEN (ENAME        PUNKT        /
                      ABSTAENDE    DERABSTAND  DERDAVOR
                      LASTINLIST  LASTPT      PKTNACH
                      PKTVOR      RETVAL=NIL!!!!
                    )
  (setq ENAME      (->VLA-OBJECT ENAME)
        ABSTAENDE  (mapcar
                    (function
                      (lambda (VERTEX)
                        (vlax-curve-getdistatpoint ENAME VERTEX)
                      ) ;_ end lambda
                    ) ;_ end function
;;;                    (mapcar 'cdr
;;;                            (vl-remove-if-not
;;;                              (function (lambda (PAIR) (= (car PAIR) 10)))
;;;                              (entget ENAME)
;;;                            ) ;_ end vl-remove-if-not
;;;                    ) ;_ end mapcar
                    (GET-PL-POINTS ENAME)
                  ) ;_ end mapcar
        DERABSTAND (vlax-curve-getdistatpoint ENAME PUNKT)
  ) ;_ end setq
  (if (and ABSTAENDE DERABSTAND) ;_ Wenn beide Werte ermittelt werden konnten...
    (progn
      (setq LASTINLIST (last ABSTAENDE) ;_ Sichern des letzten Wertes, für geschlossene PL!
            DERDAVOR  (nth (- (length ABSTAENDE) 2) ABSTAENDE) ;_ Sichern des vorletzten Wertes, wenn PT auf letztem Punkt
      ) ;_ end of setq
      (while ABSTAENDE
        (if (> (cadr ABSTAENDE) DERABSTAND)
          (setq PKTVOR    (car ABSTAENDE)
                PKTNACH  (cadr ABSTAENDE)
                ABSTAENDE NIL
          ) ;_ end setq
          (setq ABSTAENDE (cdr ABSTAENDE)) ;_ end of setq
        ) ;_ end if
      ) ;_ end while
;;; Achtung, Bug in "vlax-curve-getpointatdist" der letzte Punkt wird
;;; nicht zurückgegeben. Darum Umweg über "vlax-curve-getEndPoint",
;;; wenn der letzte Punkt nicht korrekt wiedergegeben wird.
;;; Alt:
;;;      (list (vlax-curve-getpointatdist Ename PKTVOR)
;;;            (vlax-curve-getpointatdist Ename PKTNACH)
;;;      ) ;_ end list
      (cond
        ((= DERABSTAND LASTINLIST) ;_ Wenn der Punkt exakt auf dem letzten Punkt liegt...
        (list (vlax-curve-getpointatdist ENAME DERDAVOR)
              (vlax-curve-getendpoint ENAME)
        ) ;_ end of list
        )
        ((> DERABSTAND LASTINLIST) ;_ Handling für geschlossene Polyline !
        (list (vlax-curve-getpointatdist ENAME LASTINLIST)
              (vlax-curve-getstartpoint ENAME)
        ) ;_ end of list
        )
        (t
        (list
          (vlax-curve-getpointatdist ENAME PKTVOR)
          (if
            (not
              (setq
                LASTPT (vlax-curve-getpointatdist ENAME PKTNACH)
              ) ;_ end of setq
            ) ;_ end of not
              (setq LASTPT (vlax-curve-getendpoint ENAME))
              LASTPT
          ) ;_ end of if
        ) ;_ end list
        )
      ) ;_ end of cond
    ) ;_ end of progn
    RETVAL=NIL!!!!
  ) ;_ end of if
) ;_ end defun

;;; Funktion gibt Ename zurück, wenn Lisp-Objekt oder vla-Objekt
;;; übergeben worden sind. Ansonsten nil
(defun ->ENAME (ENAME /)
  (cond
    ((= (type ENAME) 'VLA-OBJECT) (vlax-vla-object->ename ENAME))
    ((= (type ENAME) 'ENAME) ENAME)
    (t NIL)
  ) ;_ end of cond
) ;_ end of defun

;;; Funktion gibt vla-Objekt zurück, wenn Lisp-Objekt oder vla-Objekt
;;; übergeben worden sind. Ansonsten nil
(defun ->VLA-OBJECT (ENAME /)
  (cond
    ((= (type ENAME) 'ENAME) (vlax-ename->vla-object ENAME))
    ((= (type ENAME) 'VLA-OBJECT) ENAME)
    (t NIL)
  ) ;_ end of cond
) ;_ end of defun

;;; Liste mit Polylinienpunkten zurückgeben.
;;; -> Elementname
;;; <- Punktliste
(defun GET-PL-POINTS (ENAME /)
  (setq ENAME (->ENAME ENAME))
  (if (= (cdr (assoc 0 (entget ENAME))) "LWPOLYLINE")
    (GET-LW-PL-POINTS ENAME)
    (GET-HW-PL-POINTS ENAME)
  ) ;_ end of if
) ;_ end of defun

;;; Sub-Sub-Function für "GET-PL-POINTS"
;;; Handling für POLYLINE
(defun GET-HW-PL-POINTS (ENAME / EDATA PTLISTE)
  (setq ENAME (->ENAME ENAME))
  (while (= (cdr (assoc 0 (setq EDATA (entget (entnext ENAME)))))
            "VERTEX"
        ) ;_ end of =
    (setq PTLISTE (cons (cdr (assoc 10 EDATA)) PTLISTE)
          ENAME  (entnext ENAME)
    ) ;_ end of setq
  ) ;_ end of while
  (reverse PTLISTE)
) ;_ end of defun


;;; Sub-Sub-Function für "GET-PL-POINTS"
;;; Handling für LWPOLYLINE
(defun GET-LW-PL-POINTS (ENAME /)
  (setq ENAME (->ENAME ENAME))
  (mapcar 'cdr
          (vl-remove-if-not
            (function
              (lambda (PAIR) (= (car PAIR) 10))
            ) ;_ end of function
            (entget ENAME)
          ) ;_ end of vl-remove-if-not
  ) ;_ end of mapcar
) ;_ end of defun

(princ)



...

------------------
Ciao,
Marc

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

oandres
Mitglied



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

Beiträge: 80
Registriert: 24.05.2004

Windows XP
Acad 2004

erstellt am: 02. Mrz. 2005 11: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

Zitat:
Original erstellt von CAD-Huebner:
Der Weg über die Konstruktionslinie scheint mir etwas umständlich.
Soll eine neue Linie (Ordinate) von einem beliebigen Anfangspunkt Lotrecht auf eine bestehende Linie gefällt werden, nimmt man dazu den Objektfang LOT

Es soll keine Linie gezeichnet werden sondern ein Punkt auf einer imaginären Linie, von der ich Anfangs- und Endpunkt angebe. Die "Lot-Fang-Methode" war/ist mir bekannt...

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

oandres
Mitglied



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

Beiträge: 80
Registriert: 24.05.2004

Windows XP
Acad 2004

erstellt am: 02. Mrz. 2005 11:53    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

Vielen Dank für Deine Mühe. Könntest Du (oder ein anderer der Lispler  ) vielleicht das ganze um die Option erweitern/ändern, dass nur ein Punkt auf der gedachten Linie gesetzt wird ? Ansonsten hab ich trotzdem Verwendung für das Lisp und die U's dafür sind unterwegs 

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 641
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 02. Mrz. 2005 13: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 Nur für oandres 10 Unities + Antwort hilfreich

(DEFUN c:lfp (
/
gp1
gp2
lp
)

(SETQ gp1 (GETPOINT "\nGeradenpunkt 1")
      gp2 (GETPOINT "\nGeradenpunkt 2")
      lp (GETPOINT "\nLotpunkt")
)
(INTERS  gp1 gp2 lp (POLAR lp (+ (ANGLE gp1 gp2) (/ pi 2)) 1) nil)   
)

transparent als punktfang aufrufen
(z.b.: _line 'lfp usw.)

ciao georg

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3307
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 02. Mrz. 2005 22:53    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 oandres 10 Unities + Antwort hilfreich

Hi,

der Objektfang "Lot" kann, und das scheint weitgehend unbekannt zu sein, auch für den Anfangspunkt einer Linie verwendet werden:

Wird "Lot" für die erste Punkteingabe genutzt, schaltet AutoCAD automatisch in den Objektfangmodus "versetztes Lot". Hat man einen Punkt mit diesem Objektfang auf der "Basis"-Linie gewählt, wählt man den Punkt, von dem das Lot gefällt werden soll und fertig.
Leider gibt AutoCAD zu dieser Eingabeart erst ab  Rel. 2005 ein grafisches Feedback, aber es funktioniert auch in früheren Versionen.

Jetzt könnte man für die ursprüngliche Frage, nämlich auf diese Art und Weise ein Lot VON einer Linie erzeugen und sowohl Anfangs- als auch Endpunkt bestimmen, zum Beispiel ein Makro wie dieses basteln:

^C^C_line;_per;\\;_lengthen;_dy;(entlast);\;


Gruß
CADchup

------------------
www.cadditions.de

[Diese Nachricht wurde von CADchup am 02. Mrz. 2005 editiert.]

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

oandres
Mitglied



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

Beiträge: 80
Registriert: 24.05.2004

Windows XP
Acad 2004

erstellt am: 03. Mrz. 2005 07:43    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

@cadchup: Es handelt sich dabei leider um eine imaginäre Linie, von der nur Anfangs- und Endpunkt existieren. Der Tipp mit dem Objektfang "Lot" ist mir übrigens neu, aber seeeehr hilfreich. Danke dafür 

Gibts auch noch eine Möglichkeit, von zwei Punkten ein Lot abzusetzen ?

Stelle mir das so vor: Punkt 1 anwählen, Punkt zwei anwählen (von dem aus das Lot abgesetzt werden soll und dann den Abstand eingeben (Vorzeichen bestimmt die Richtung).

Beispiel: Von einer imaginären Linie die durch die beiden Punkte verläuft bzw. deren Anfangs und Endpunkte soll ein lotrechter Punkt x Einheiten über dem 2. Punkt abgesetzt werden.

Bisher habe ich das so gemacht:

- Klinie durch die beiden Punkte
- Klinie / Abstand / x
- Klinie / Winkel / Bezug / 90°
- entsprechenden Punkt Picken
- Punkt an dem Schnittpunkt erstellen
- Klinien wieder löschen

Gruß

Olli

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: 13413
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Mrz. 2005 09:01    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 oandres 10 Unities + Antwort hilfreich

sowas ?
(defun C:LOT ( / PKT2 PKT2 ABSTAND W)
  (if (and(setq PKT1 (getpoint "\nBasispunkt 1: "))
          (setq PKT2 (getpoint "\nBasispunkt 2: "))         
          (numberp(setq ABSTAND (getreal "\nAbstand zu PKT2 :")))
      )   
    (progn     
      (if (< ABSTAND 0)
        (setq W (/ pi -2))
        (setq W (/ pi  2))       
      )         
      (command "_line" PKT2 (POLAR PKT2 (+ (ANGLE PKT1 PKT2) W) ABSTAND) "")
    ) 
  )
)

------------------
- 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

oandres
Mitglied



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

Beiträge: 80
Registriert: 24.05.2004

Windows XP
Acad 2004

erstellt am: 03. Mrz. 2005 09: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

Ja, fast genau das was ich suche... allerdings soll er nur einen Punkt setzen.... Trotzdem noch mal vielen Dank, das kann ich auch gebrauchen 

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

ghostdriver
Mitglied
Zeichner


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

Beiträge: 13
Registriert: 01.03.2005

ACAD 2002
WIN XP

erstellt am: 03. Mrz. 2005 13:35    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 oandres 10 Unities + Antwort hilfreich

Der Befehl oder Button im Werkzeugkasten "SPUR" müsste in dem Fall einfacher zu realisieren sein. Mit welchen System arbeitest du?

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3307
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 03. Mrz. 2005 14:03    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 oandres 10 Unities + Antwort hilfreich

Ich glaube, jetzt hab' ich verstanden um was es geht. 

Hier CADmiums geändertes Lisp. Er möge mir verzeihen, dass ich in seinem Code rumwurschtelte. 

Code:

(defun C:LOT (/ PKT2 PKT2 ABSTAND OSSI)
  (if (and (setq PKT1 (getpoint "\nBasispunkt 1: "))
  (setq PKT2 (getpoint "\nBasispunkt 2: "))
  (progn (initget 3)
  (setq ABSTAND (getdist "\nAbstand zu PKT2 :"))
  )
  )
    (progn
      (setq OSSI (getvar "OSMODE"))
      (setvar "OSMODE" 0)
      (entmake
(list '(0 . "POINT")
      (cons 10
    (polar PKT2 (+ (angle PKT1 PKT2) (/ pi 2)) ABSTAND)
    )
      )
)
      (setvar "osmode" OSSI)
      )
    )
  )


Gruß
CADchup

------------------
www.cadditions.de

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: 13413
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Mrz. 2005 14:07    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 oandres 10 Unities + Antwort hilfreich

@Heinz : Kein Problem

------------------
- 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

oandres
Mitglied



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

Beiträge: 80
Registriert: 24.05.2004

Windows XP
Acad 2004

erstellt am: 03. Mrz. 2005 18:28    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

Vielen Dank an Cadchup, das Lisp funktioniert einwandfrei 

@alle:

Dieses Forum ist einfach einmalig. Hilfsbereitschaft und Kompetenz wohin das Auge blickt  Weiter so...
Vielleicht kann ich ja (wenn ich CAD-mässig mal "groß" bin) anderen Usern ebenso kompetent helfen... doch davor steht die Hürde dieser seltsamen Programmiersprache  :}

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