Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Line mit festem Winkel -> AutoLisp

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:  Line mit festem Winkel -> AutoLisp (915 mal gelesen)
stoked
Mitglied
Student

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

Beiträge: 5
Registriert: 23.03.2006

erstellt am: 27. Nov. 2007 20:14    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 allerseits,

ich habe ein Problem bei der Erstellung eines AutoLisp-Programms. Und zwar soll unter anderem eine Linie mit vorgegebenem Startpunkt, festem Winkel aber variabler Länge gezeichnet werden. Der Winkel bereitet mir Kopfschmerzen... Wie kann ich diesen bei einer Linie vordefinieren? In einem command funktioniert leider die temporäre Überschreibung (<45) nicht. Aber genau die wäre ansich perfekt für meine Zwecke! Weiß jemand woran's liegt? So hab ich es zB probiert:

Code:
(command "_.line" pt1 "<45")

Vielen Dank schonmal!

------------------
;--------------------------------
(princ "Hello World!\n")
;--------------------------------

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

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 27. Nov. 2007 20:29    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 stoked 10 Unities + Antwort hilfreich

Hi und herzlich willkommen auf cad.de!

Hilft dir dieser Beitrag schon weiter?
http://ww3.cad.de/foren/ubb/Forum145/HTML/001055.shtml 

------------------
Grüsse

Thomas

Korrekturen zum Kochbuch AutoLISP

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 27. Nov. 2007 20:55    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 stoked 10 Unities + Antwort hilfreich

Hi,
also ich gehe davon aus, dass Du in pt1 bereits einen Punkt gespeichert hast.
Dann könntest Du es so machen:
Code:
(command "_.line" pt1 (polar pt1 (/ pi 4) (getdist pt1 "Abstand:")) "")
Wenn Du lieber einen Text an den Command-befehl übergibst, dann muss der vollständig sein, also so etwa:
Code:
(command "_.line" pt1 (strcat "@" (rtos (getreal "Abstand:") 2 8) "<45") "")

Grüsse, Henning

------------------
VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

stoked
Mitglied
Student

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

Beiträge: 5
Registriert: 23.03.2006

erstellt am: 27. Nov. 2007 21: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

Hey danke für die schnelle Antwort!
Also der Beitrag hilft mir nicht direkt weiter, aber du hast mich auf eine andere Idee gebracht. Ich werd morgen mal versuchen ob es Sinn macht die Linie mit Rotate im passenden Winkel zu drehen und anschließend zu kürzen.
Am liebsten wär mir halt die Methode mit der Winkelüberschreibung... Warum geht das denn in der Kommandozeile, aber nicht im command-Aufruf? Oder mach ich da etwas falsch??

edit:
@ wronzky:

Zitat:
Wenn Du lieber einen Text an den Command-befehl übergibst, dann muss der vollständig sein...

Ich glaub da liegt der Hund begraben! Werd da mal bissl rumprobieren. Letztendlich soll halt der Winkel von einer Variable kommen. Den Startpunkt frag ich anfangs ab und hol ihn aus der pt1.

------------------
;--------------------------------
(princ "Hello World!\n")
;--------------------------------

[Diese Nachricht wurde von stoked am 27. Nov. 2007 editiert.]

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

andi2050
Mitglied



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

Beiträge: 107
Registriert: 11.03.2003

erstellt am: 28. Nov. 2007 20: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 Nur für stoked 10 Unities + Antwort hilfreich

Eine andere Idee:

Eine Linie im gewünschen Winkel malen mit Länge 1.0
Dann die Line Skalieren. Der Skalierfktor entspricht dann der Länge.

z.B.

Code:

(defun c:test (/ pt ang)
  (setvar "cmdecho" 0)
  (setq pt (getpoint "\nStartpunkt: "))
  (setq ang (getangle pt "\nWinkel: "))
  (command "_LINE" "_non" pt (polar pt ang 1.0) "")
  (princ "\nLänge: ")
  (command "_SCALE" "_LAST" "" "_non" pt pause)
)

Grüße

Andi

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

stoked
Mitglied
Student

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

Beiträge: 5
Registriert: 23.03.2006

erstellt am: 28. Nov. 2007 20:50    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

Sodala.. Hab heute mal wieder bissl rumprobiert und es klappt ansich den Winkel vorzugeben. Lieber wär's mir halt, wenn der User wie bei der Winkelüberschreibung (oder Ortho) schon in der Gummiband-Voransicht der Linie nur die eine Richtung angezeigt bekommt und klicken kann. Naja mal schauen, werd nächste Woche weiter experimentieren. (Bin nur 2x die Woche am Lisplen - Werkstudent in einem Konstruktionsbüro.)

Danke auch für den neuen Tipp mit der 1mm-Linie. Vielleicht hilft's weiter! Werd dann mal berichten.

Was anderes fällt mir grad noch ein: Kann ich eigentlich von einer Linie direkt Start- und Endpunkt abfragen?

------------------
;--------------------------------
(princ "Hello World!\n")
;--------------------------------

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 29. Nov. 2007 07:23    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 stoked 10 Unities + Antwort hilfreich

Hallo stoked,

Startpunkt:
(cdr(assoc 10(entget(car(entsel "\nLinie picken:")))))
Endpunkt:
(cdr(assoc 11(entget(car(entsel "\nLinie picken:")))))

------------------
viele Grüße

Jörn

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