Forum:Lisp
Thema:(command "_.line" pkt "'lot" li)
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
tappenbeck

Beiträge: 1203 / 0

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

ich möchte eine linien von einem punkt (pkt) auf eine linie (li) zeichnen. mit (command "_.line" pkt "'lot" li) klappt das irgendwie nicht ! mache ich etwas falsch oder muss ich den lotfußpunkt immer alternativ berechnen ????

(setq pkt (getpoint))
(setq li (car (entsel)))

vielen dank im voraus.

gruß Jan :-)

------------------
jan :-)

Brischke

Beiträge: 4159 / 36

AutoCAD 20XX, defun-tools (d-tools.eu)

Hallo Jan,

Die Fehlermeldung in der Befehlszeile, die beim Ausführen deiner Zeile erscheint sagt dir eigentlich ziemlich genau, wo der Fehler liegt. <Punkt oder Optionstitel wird benötigt> Du übergibst jedoch einen Elementnamen. Du musst nicht rechnen, sondern einen Punkt auf der Linie übergeben, das Lot sucht die Funktion dann selbst.
(setq li (cadr (entsel)) sollte funktionieren.

Hier im Forum oder auch in Rund um AutoCAD wurden bereits öfter die Vorzüge und Nachteile der (command-Programmierung diskutiert. Deine Aufgabenstellung ist ein typisches Beispiel dafür, dass man auf das (command verzichten und den Punkt errechnen sollte.  Hast du das getan, kannst du die Linie auch mit (entmake..) erstellen.
Man kann dadurch, dass man einen Punkt übergibt nie 100% sicher sein, dass AutoCAD auch tatsächlich die von dir gedachte Linie zur Lotberechnung heranzieht. Befinden sich in der Nähe viele Objekte oder ist irgendein Objektfang eingeschaltet kann es zu vollkommen falschen Ergebnissen kommen, da AutoCAD irgendein anderes Zeichnungselemnt in der Nähe gewählt hat.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

marvin101010

Beiträge: 562 / 9

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

muss da jetzt auch meinen senf dazu geben...

jan...lass es sein!!!
wenn es auch nur ansatzweise eine möglichkeit gibt (command "...) zu umgehen, dann TU ES!!!!!!
ein wenig geometrie...eine prise nachdenken mit einem schuss (entmake ...) und schon hast du eine blitzsaubere lösung, die immer funktioniert.
probier es aus und du wirst es nicht bereuen.

------------------
...so long and thanx for all the fish!