|
Lisp : Kontrollfrage vor dem verlassen!
wronzky am 02.03.2007 um 10:38 Uhr (0)
Hi,Also weil das mit den Reaktoren doch noch ein bischen komplex ist, würde ich zu der einfachen Variante greifen, _qsave neu zu schreiben:Code:(command "bflösch" "ksich")(defun c:ksich () (alert "Hier der code") (command ".ksich"))Da kannst Du auch nach belieben (command...) verwenden.Grüsse Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : Rotieren und Skalieren einer Polylinie mithilfe von 3 Punkten
wronzky am 06.03.2007 um 13:00 Uhr (0)
Hi MalteJ,Wenn Du mit Lisp anfangen willst, versuchs doch erst mal so, als ob Du die Schritte in der Befehlszeile eingibst. Der passende Befehl ist (command ...), in Deinem Fall dann drehen mit Bezug und Varia mit Bezug oder gleich Ausrichten.Punkte kannst Du mit (getpoint) abfragen.Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : verschiedene Befehle für Objekt(e) in einem Button
wronzky am 07.06.2007 um 14:15 Uhr (0)
Kleine Anmerkung zur Auswahl "LETZTES":Letztes wählt (mindestens bis zur Version 2005) das Letzte Objekt, das am Bildschirm zu sehen ist!Zeichne mal eine Linie und pan die Linie aus dem Bildschirm, oder schalte den Layer aus. Letztes findet die Linie nicht mehr, sondern eine andere, oder überhaupt nichts!Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : dyn. filter erstellung - problem mit aufbau
wronzky am 08.06.2007 um 21:04 Uhr (0)
Hallo Jan,Du hast erst mal VIEL zu viele Klammern in deiner Filterliste. Sie müsste so aussehen:( (-4 . AND) (-4 . OR) (0 . text) (0 . MTEXT) (-4 . OR ) (-4 . NOT) (-4 . OR) (8 . Beschriftung) (-4 . OR ) (-4 . NOT ) (-4 . AND ))allerdings bleibt noch die Frage, was Du Filtern willst.Im Moment Filterst Du alle Texte und Mtexte, die NICHT im Layer Beschriftung sind...Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman ...
|
In das Form Lisp wechseln |
|
Lisp : ssget, wiedermal filtern: Elemente ohne GC48
wronzky am 13.06.2007 um 14:19 Uhr (0)
Zitat:Original erstellt von Wolfgang S: weil wenns nicht existiert nimmt lisp an, daß es 1 ist ?nicht 1 sonder 0 (=Vorgabewert), und siehe da, es stimmt. (ssget "x" ((66 . 0))) filtert alle Blöcke ohne Attribute, obwohl GC66 nicht existent.Resümee: Existiert für ein Element ein GC-Wert, ist er aber nicht gesetzt, und existiert statt dessen ein möglicher Vorgabewert, filtert ssget den Vorgabewert! ---- würde ich jetzt so interpretieren.Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistun ...
|
In das Form Lisp wechseln |
|
Lisp : ssget, wiedermal filtern: Elemente ohne GC48
wronzky am 13.06.2007 um 11:13 Uhr (0)
Zitat:Original erstellt von CADmium:oder probier mal(sssetfirst (setq a(ssget "X" ((-4 . "NOT")(-4 . "")(48 . 1)(-4 . "NOT"))))a)wäre ggf. NICHT UNGLEICH nicht einfacher mit GLEICH zu erreichen?(sssetfirst (setq a(ssget "X" ((48 . 1)))a)Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : ssget, wiedermal filtern: Elemente ohne GC48
wronzky am 13.06.2007 um 13:43 Uhr (0)
Zitat:Original erstellt von mkl-cad: Also ist der Code 48 auch 1 wenn er nicht da ist. Also logisch finde ich es nicht wenn ein Code, der nicht da ist, einen Wert haben soll. Und warum liefert dann (cdr (assoc 48 (entget (car (entsel))))) nil??? Ausserdem soll ssget elemente ausschliessen, wenn der Code fehlt.ne,ne,ne LOGISCH ist für mich was anderes!Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : ssget, wiedermal filtern: Elemente ohne GC48
wronzky am 13.06.2007 um 11:33 Uhr (0)
Zitat:Original erstellt von Wolfgang S:wird trotzdem ausgewählt, seltsam ????...hmmm in der Tat seltsam, denn in der Doku steht: Zitat:Note The meaning of certain group codes can differ from entity to entity, and not all group codes are present in all entities. If a particular group code is specified in a filter, entities not containing that group code are excluded from the selection set that ssget returns.Vielleicht, weil der VORGABEWERT 1 ist und GC48 "theoretisch" existieren könnte?in den Eigenschaften ...
|
In das Form Lisp wechseln |
|
Lisp : region2pl
wronzky am 20.06.2007 um 12:05 Uhr (0)
Hallo,tausch mal die ZeileCode:(command "_.pedit" (ssname aws_temp 0) "_Y" "_J" aws_temp "" ""))aus durch Code:(command "_.pedit" "_M" aws_temp "" "_Y" "_J" "" ""))Grüsse, HenningPS: geht erst ab 2005!------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de[Diese Nachricht wurde von wronzky am 20. Jun. 2007 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : region2pl
wronzky am 21.06.2007 um 12:40 Uhr (0)
deep-explode ist eine Funktion, die einen Auswahlsatz übergeben bekommt!Also in etwa so:Code:(setq aws (ssget ((0 . "REGION"))))(setq aws (deep-explode aws))(setvar "peditaccept" 0)(command "_.pedit" "_M" aws "" "_Y" "_J" "" "")Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : volumenkörper an pfad
wronzky am 21.06.2007 um 12:43 Uhr (0)
(command "messen" ...) und dann einen Block als Einfügung wählen.Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : region2pl
wronzky am 22.06.2007 um 11:37 Uhr (0)
Hallo Peter, Zitat:Original erstellt von petrov9:eine eingabeaufforderung habe ich nicht geschafft: z.bsp. ersten polyliniensatz waehlen:....bei den get...-befehlen weiss ich wies geht, aber in zusammenhang mit ssget nicht.Du setzt einfach ein (prompt "
wählen Sie jetzt die Polylinien:") vor den ssget-Aufruf.Ansonsten: Schönes Programm! Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : region2pl
wronzky am 21.06.2007 um 09:16 Uhr (0)
Hi Peter,hab mal in der "Routinekiste" gekramt und das hier gefunden: deep-explodedamit wird alles (zur Not Mehrfach) zerlegt, bis nur noch Grundbausteine vorhanden sind:Code:(defun deep-explode (aws / n-aws) (setq n-aws (ssadd)) (while (setq aws (m-explode aws)) (setq n-aws (ssmerge n-aws aws))) n-aws)(defun m-explode (aws / z l n-aws ele) (setq z -1 l (entlast) n-aws (ssadd)) (repeat (sslength aws) (setq ele (ssname aws (setq z (1+ z)))) (if (member (cdr (assoc 0 (entget ele))) ("HATCH" "REGION" "POLYL ...
|
In das Form Lisp wechseln |