|
Lisp : _Copy & Koordinaten - LISP
cadffm am 03.11.2016 um 14:10 Uhr (1)
kopieren? die Oberkante oder die neu erzeugte Linie?Layer von Objekten ändern: Das geht grundsätzlich mit ÄNDERNFür _chprop/eiganpass müßte man ja zuvor ein anderes Objekt wählen?Layer für die vorhandenen Oberkanten-ObjekteDer Auswahlsatz der Elemente für die Oberkante hast du bereits in der Variable "gelaende",diese kannst du mit dem Befehl ÄNDERN anpassen (zuvor dafür Sorgen das der Layer auch wirklich existiert)Layer für die neuen Objekte:Die neu erzeugten Objekte kannst du nicht "so einfach" fassen, ab ...
|
In das Form Lisp wechseln |
|
Lisp : Objektkoordinaten mit Lisp abfragen
wwwilli am 03.11.2016 um 20:47 Uhr (1)
eList ist eine zuvor ausgelesene Liste von Eigenschaften des ausgewählten Objekts, wenn ich recht verstehe. Da muss es eine feste Reihenfolge geben, an welcher Stelle welche Eigenschaft steht.
|
In das Form Lisp wechseln |
|
Lisp : Objektkoordinaten mit Lisp abfragen
Brischke am 03.11.2016 um 19:51 Uhr (1)
Das XList habe ich mir jetzt nicht angesehen - das vorweg.Trivial ist die Aufgabe nicht. Die Z-Koordinate kann eine ganz andere sein, als das Objekt selber ausweist.Nimmst du einen Block, zeichnest eine Linie beginnend auf Z=0 und endend auf Z=100. Fügst dann eine Blockreferenz auf Z=2000 ein, dann ist die Z-Koordinate der gepickten Linie nach wie vor Start 0 und Ende = 100. Wenn die Blockreferenz auch noch in Z-Richtung skaliert ist, ist auch das Ende Linie nicht einfach durch Addition der Z-Koordinate de ...
|
In das Form Lisp wechseln |
|
Lisp : Objektkoordinaten mit Lisp abfragen
wwwilli am 03.11.2016 um 20:14 Uhr (1)
Hm, das mit dem String hab ich, rtoa.Mir geht es wirklich nur um zwei Zeilen, die die Z-Koordinate eines Blocks bzw. eines Punkts lesen. Die Struktur übernehme ich 100% aus dem vorhandenen .lsp. Das mag ungut erscheinen, mehr geht gerade nicht.Für die 3D-Angabe von Vermesserobjekten gelten Deine Bedenken nicht, denke ich. Ich brauch ja auch nichts Akademisches.
|
In das Form Lisp wechseln |
|
Lisp : Objektkoordinaten mit Lisp abfragen
Brischke am 03.11.2016 um 20:21 Uhr (1)
Willst du das irgendwo einbauen oder genügen die Koordinaten im Textfenster?(princ (caddr(getpoint"
Punkt wählen:")))Grüße!Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
|
In das Form Lisp wechseln |
|
Lisp : Objektkoordinaten mit Lisp abfragen
wwwilli am 03.11.2016 um 20:29 Uhr (1)
XLIST hat an dieser Stelle schon ein Objekt und liest die Eigenschaften zum späteren Anzeigen aus. An dieser Stelle hacke ich mich rein, greife für Blöcke oder Punkte die Z-Koordinate ab, wandle sie zum String um und lasse sie später als "LineType" anzeigen. So ist jedenfalls der Plan.Also hier brauche ich dann so etwa einen ersatz für "(cdr (assoc 7 eList))", so dass die Z-Koordinate rauskommt:Code:;If the object is text or mtext, find out the style name (if (or (= "TEXT" sObjectType) (= "MTEXT" sObjectTy ...
|
In das Form Lisp wechseln |
 |
Lisp : Objektkoordinaten mit Lisp abfragen
wwwilli am 07.11.2016 um 23:22 Uhr (15)
@Meldin: Danke für die Blumen. (Das Verfahren "Wie komme ich zu einem eigenen Programm, ohne eine Ahnung vom Programmieren zu haben" hat sich seit Fortran IV nicht wesentlich geändert. Nur das Internet hat seit Kurzem die Methode deutlich beschleunigt.) ;-)@cadffm: Mich würden doch Deine Bedenken interessieren, dass das nur zufällig funktionieren würde.MfGwwwilli[Diese Nachricht wurde von wwwilli am 07. Nov. 2016 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : Radius über drei Punkte berechnen
jupa am 08.11.2016 um 09:05 Uhr (1)
Zitat:Original erstellt von spider_dd:Ermittle Dir einen Punkt P3, der mit geringem Abstand senkrecht über dem Mittelpunkt der Linie P1 - P2 liegt Ist gar nicht notwendig. Einfach einen Bogen zeichnen mit Startpunkt (ein Endpunkt der Linie), zweiter Punkt (einen beliebigen Punkt nahe neben der Linie, Endpunkt (anderer Endpunkt der Linie). Oder muß es unbedingt eine LISP-Lösung sein? (Wir kennen den Zusammenhang der Aufgabe nicht)Jürgen ------------------Bildung kommt nicht vom Lesen, sondern vom Nachdenken ...
|
In das Form Lisp wechseln |
 |
Lisp : AutoCAD Objektfang (Ofang) Ein oder Aus (toggle) wie F3 aber als LISP
neo4matrix am 15.11.2016 um 16:29 Uhr (15)
Hallo GemeindeIch tüftle schon seit längerem an einem Listp, welches GENAU das gleiche macht, wie die F3 Taste unter AutoCAD. Nämlich den Objektfang umschalten. Hier schon mal mein List Code:(defun C:OFangToggle ( / aosmo) (setq aosmo (getvar "OSMODE")) (if ( aosmo 16383) ((setvar "OSMODE" (- aosmo 16384))(princ "
Ofang ein")) ((setvar "OSMODE" (+ aosmo 16384))(princ "
Ofang aus")) ) (prin1))Er funktioniert so weit ganz gut, Nur leider kommt beim Aufrufen des Befehls OFangToggle stets eine Fehlermeldung!Je ...
|
In das Form Lisp wechseln |
|
Lisp : AutoCAD Objektfang (Ofang) Ein oder Aus (toggle) wie F3 aber als LISP
neo4matrix am 15.11.2016 um 16:39 Uhr (1)
Die Fehlermeldung ist übrigens:Befehl: OFANGTOGGLEOfang aus; Fehler: Fehlerhafte Funktion: 24191Befehl: OFANGTOGGLEOfang ein; Fehler: Fehlerhafte Funktion: 7807Die Zahl hinten ist der aktuelle OSMODE.mfg neo------------------Welcome to the Real
|
In das Form Lisp wechseln |
 |
Lisp : AutoCAD Objektfang (Ofang) Ein oder Aus (toggle) wie F3 aber als LISP
jupa am 15.11.2016 um 16:52 Uhr (15)
Versuchs mal damit: (defun C:OFangToggle ( / aosmo)(setq aosmo (getvar "OSMODE"))(if ( aosmo 16383) (progn(setvar "OSMODE" (- aosmo 16384))(princ "
Ofang ein")) (progn (setvar "OSMODE" (+ aosmo 16384))(princ "
Ofang aus")))(prin1))Jürgen------------------Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)[Diese Nachricht wurde von jupa am 15. Nov. 2016 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : AutoCAD Objektfang (Ofang) Ein oder Aus (toggle) wie F3 aber als LISP
neo4matrix am 15.11.2016 um 17:02 Uhr (1)
Super cool! Funktioniert 1A! Allerbesten Dank!mfg neo------------------Welcome to the Real
|
In das Form Lisp wechseln |
|
Lisp : AutoCAD Objektfang (Ofang) Ein oder Aus (toggle) wie F3 aber als LISP
Andreas Kraus am 15.11.2016 um 17:04 Uhr (1)
Hallo neo,die Fehlermeldung kommt weil du einfach zwei Ausdrücke ohne progn in eine Klammer bringst. ((setvar "OSMODE" (- aosmo 16384))(princ "
Ofang ein"))müsste so aussehen: (progn (setvar "OSMODE" (- aosmo 16384))(princ "
Ofang ein"))EDIT_ Da schaut man grade mal nach und schon ist wieder jemand schneller. Ich glaub ich mach jetzt Feierabend------------------Geht nicht, gibts nichtGrußAndreashttp://kraus-cad.de[Diese Nachricht wurde von Andreas Kraus am 15. Nov. 2016 editiert.]
|
In das Form Lisp wechseln |