Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Abstand mit entsel

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:  Abstand mit entsel (1138 mal gelesen)
Jürgen Scheeren
Mitglied
Energieanlagen Konstrukteur , CAD-Administrator


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

Beiträge: 262
Registriert: 03.04.2003

Autocad MEP 2016
win7x64bit

erstellt am: 02. Jun. 2004 11:18    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 allwissendes Forum,

ich muß oft Abstände messen, und immer
den Fang einzustellen oder zu warten bis der Fang
die Linie erkannt hat ist mir langsam zu lästig,
aber das kennt ihr ja wenn man hunderte Mausklicks
pro Tag macht wird jeder Mausklick zuviel störend.
Deshalb mein versuch als Gelegenheitslisper die
Sache mit entsel zu lösen.
Der Ansatz ist natürlich ziemlich Banane, aber
er zeigt was ich erreichen möchte.
Super wäre auch wenn der Abstand in einem Dialogfenster
angezeigt wird hab da mal an Alert gedacht.
Vieleicht hat jemand eine Intelligente Lösung.

Gruß Jürgen

(defun C:Messy (/)

(setvar "OSMODE" 0)
(setvar "cmdecho" 0)

(setq Point1 (entsel "\nerste Linie wählen: "))
(setq Point1 (entsel "\nzweite Linie wählen: "))

(command "_dist" Point1 Point2 "")

  (alert
    (strcat
      "\n---------------------------------"  
      "\n\n\ Abstand...........     
      "\n---------------------------------" ) ;_ strcat    
  ) ;_ alert

)

(princ "\nAbstand messen")
(princ "\nAufruf: Messy")
(princ)

[Diese Nachricht wurde von Jürgen Scheeren am 02. Jun. 2004 editiert.]

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

Jürgen Scheeren
Mitglied
Energieanlagen Konstrukteur , CAD-Administrator


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

Beiträge: 262
Registriert: 03.04.2003

Autocad MEP 2016
win7x64bit

erstellt am: 02. Jun. 2004 13:06    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 Autolisper,

habe jetzt mal rausgefunden wie ich über entsel
zwei genaue Punkte bekomme, brauche jetzt nur noch
eine Idee wie mein Prog ,ohne das ich großartig Zielen
muß, eine orthogonale Strecke hinbekommt.
Habe da an Gummibandlinie und Orthogonalmodus gedacht
aber das ist bei entsel nicht so einfach.
Auch fehlt mir noch mein Dialogfeld.
Könnt Ihr mir da ein bischen weiterhelfen?

Gruß Jürgen

(defun C:Messy (/)

(setq a (entsel "\nGeben Sie bitte den Einfügepunkt an:"))

      (setq p1 (osnap (cadr a) "_nearest"))

(setq w (entsel "\nGeben Sie bitte die Richtung auf der Linie an:"))

      (setq p2 (osnap (cadr w) "_nearest"))

(command "_dist" p1 p2 )

)


(princ "\nAbstand messen")
(princ "\nAufruf: Messy")
(princ)

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

Helmut F
Mitglied
Dipl.-Ing


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

Beiträge: 38
Registriert: 09.05.2003

erstellt am: 02. Jun. 2004 13:39    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 Jürgen Scheeren 10 Unities + Antwort hilfreich

Hallo Jürgen,

wenn du nur den Abstand zweier Punkte ermitteln willst :

(defun C:Messy (/)

  (setvar "cmdecho" 0)
  (setq omode (getvar "OSMODE")) ; auslesen
  (setvar "OSMODE" 512) ; 512 = nächster

  (setq p1 (getpoint "\nerste Linie wählen: ")
p2 (getpoint "\nzweite Linie wählen: ")
dst_x (ABS (- (car p1) (car p2)))
dst_y (ABS (- (cadr p1) (cadr p2)))
dst_z (ABS (- (caddr p1) (caddr p2))))
  (setvar "OSMODE" omode) ; ursprünglicher Wert

  (alert
    (strcat
      "\n---------------------------------"
      "\nAbstand X = " (rtos dst_x)
      "\nAbstand Y = " (rtos dst_y)
      "\nAbstand Z = " (rtos dst_z)
      "\n---------------------------------" ) ; strcat
  ) ;_ alert
  (princ)
)

(princ "\nAbstand messen")
(princ "\nAufruf: Messy")
(princ)

Helmut

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

.

erstellt am: 02. Jun. 2004 13: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 Jürgen Scheeren 10 Unities + Antwort hilfreich

...hätte da noch ein (getdist "\nErsterPunkt:\n) anzubieten ..

Ein Bsp. , wenn du die Punkte schon hast :
(setq PKT1 (getpoint))
(setq PKT2 (getpoint))
(distance PKT1 PKT2)

für deine (entsel) Geschichte und Gummiband schau mal  hier (grdraw..)

------------------
- Thomas -

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 02. Jun. 2004 14:08    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 Jürgen Scheeren 10 Unities + Antwort hilfreich

@Helmut
so wie ich Jürgen verstanden habe, will er keinen Objektfang eingestellt haben
Zitat:

...oder zu warten bis der Fang
die Linie erkannt hat ist mir langsam zu lästig...


denn sonst => (command "_dist" "_nea" pause "_per")
Zitat:

brauche jetzt nur noch
eine Idee wie mein Prog ,ohne das ich großartig Zielen
muß, eine orthogonale Strecke hinbekommt

Ein vorschlag...
Code:

;;; die vielen setq's dienen nur zum besseren Verständnis
;;; -----------------------------------------------------
;;;
(defun c:mess (/ ankathete gegenkathete hypotenuse punkt1 punkt2 winkelalpha)
(setq punkt1     (osnap (cadr (grread (car (entsel)))) "_nea")
       punkt2     (osnap (cadr (grread (car (entsel)))) "_nea")
       winkelalpha  (angle punkt1 punkt2)
       hypotenuse   (distance punkt1 punkt2)
       ankathete    (* hypotenuse (cos winkelalpha))
       gegenkathete (* hypotenuse (sin winkelalpha))
)
(alert (strcat "Abstand = "
(rtos hypotenuse 2 4)
"\n\n"
"Delta X  = "
(rtos ankathete 2 4)
"\n\n"
"Delta Y  = "
(rtos gegenkathete 2 4)
"\n"
)
)
(princ (strcat "\nAbstand = "
(rtos hypotenuse 2 4)
"\t"
"Delta X  = "
(rtos ankathete 2 4)
"\t"
"Delta Y  = "
(rtos gegenkathete 2 4)
)
)
(princ)
)


------------------
edit: Das Argument 4 bei grread entfernt. War nur mich ein Test

[Diese Nachricht wurde von benwisch am 02. Jun. 2004 editiert.]

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

Jürgen Scheeren
Mitglied
Energieanlagen Konstrukteur , CAD-Administrator


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

Beiträge: 262
Registriert: 03.04.2003

Autocad MEP 2016
win7x64bit

erstellt am: 02. Jun. 2004 14: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

Hallo Helmut,
Hallo Benwisch,

ihr seid die besten, klasse tools beide funzen
einwandfrei, vielen, heißen Dank.
Das Tool von Benwisch trifft natürlich den Nagel auf den Kopf.

Hallo Cadmium,

dir danke ich natürlich auch für deinen Beitrag

Units sind unterwegs, ihr seid meine Helden :-)

Gruß Jürgen

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