Forum:Lisp
Thema:x-koordinate - 1
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
Mozi

Beiträge: 108 / 1

ACAD Mech 2015 / PSP 2011 / Design Review 2011
Adobe Creativ
WIN 10

leider fehlt mir die routine im lisp um ein kleines script zu schreiben

ich würde gerne ein kleines lisp erstellen, in dem alle elemente gewählt werden
um dann mit einfachen "links-klicks" jeweils die elemente neu zu berechnen

klick
alle elemente mit kleineren x-koordinaten als mein klick sollten um 1 einheit nach rechts wandern

also ssget x
dann getpoint
und dann if x im "alle" kleiner als x vom klick dann x+1
elemente ändern

ich bastelte schon mit schieben und command
würde aber mal gerne mit den elementfunktionen etwas professioneller vorgehen

Dorfy

Beiträge: 893 / 251

AutoCad2007, ProE, HiCad

Hi,
naja, das Grundprinzip steht doch,
wenn du nun noch weißt welche Elemente du wandern lassen möchtest,
dann hast du doch schon alles...
Als Hilfestellung
"Der Dauerbrenner" oder als "Kochbuch" im (wie der Name sagt) Buchformat...
Wenn du "Lisp-Konsole" in ACad entdeckt hast, ist die Hilfe auch immer ein heißer Tipp.
(Könnte mir auch vorstellen, dass es komplett mit Script umsetzbar ist)

An welchen Lispzeilen hängt es denn?

mfg Heiko

joern bosse

Beiträge: 1680 / 6

Window 8.1
ACAD 2012-2020
CIVIL 2012 - 2020
BricsCAD V14-V20
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050

Hallo Mozi,
vielleicht ein kleines Grundgerüst, mußt Du Dir noch ein bißchen anpassen:

Code:

(defun c:test ( / aws pkt)
  (if(and(setq aws (ssget))(setq pkt (getpoint "\Punkt picken:")))
    (progn
      (setq n 0)
      (repeat (sslength aws)
(if (< (car(cdr(assoc 10 (entget (ssname aws n)))))(car pkt))
(command "_.move" (ssname aws n)"" '(0.0 0.0)'(1.0 0.0)))
(setq n (+ n 1))))))

Anmerkung: Die Abfrage, ob der X-Wert kleiner ist über den GC 10 mußt Du noch überdenken, wenn Du z.B. eine Linie hast ist der GC 10 nur der Anfangspunkt, wenn Du aber eine Block hast ist es der Basispunkt.

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

Jörn
http://www.bosse-engineering.com