|
AutoLisp : Linienstärke Einstellungen ändern...
marc.scherer am 24.10.2005 um 12:35 Uhr (0)
Hi Leutz,wie komme ich an die Einstellung "Anzeigeskalierung anpassen" der "Linienstärke Einstellungen" via Lisp ran (siehe Anhang)?Ich finde dafür gar nichts im Preferences Objekt.Bin ich blind? Oder geht das einfach nicht?------------------Ciao,Marc
|
In das Form AutoLisp wechseln |
|
AutoLisp : Linienstärke Einstellungen ändern...
marc.scherer am 24.10.2005 um 14:29 Uhr (0)
Hi,zumindest weiß ich jetzt schon mal, wo er sich die Einstellung merkt:[HKEY_CURRENT_USERSoftwareAutodeskAutoCADR16.1ACAD-302:407Profiles[AKTUELLERPROFILNAME]General]"LineWeightDisplayScale"=dword:00000007Bei mir (Map2005) sind gültige Dezimalwerte im Bereich von 2 (minimum) bis 20 (maximum) möglich.Aber wie mal da zur Laufzeit mit Lisp an die Einstellungen rankommt???? :ka------------------Ciao,Marc
|
In das Form AutoLisp wechseln |
|
AutoLisp : ATTSYNC: als command in Lisp, (acet-attsync) usw.
marc.scherer am 16.11.2005 um 16:28 Uhr (0)
Hi,poste doch mal den Code und die Testdatei.Dann findet sich der Fehler bestimmt RuckZuck.Ich hatte folgendes als Attsync im Einsatz (Attsynct aber alle Blöcke...)Code:(defun DT:ATTSYNC (/) (if (DT:GET-BLOCKDEFS-WITH-ATTDEF "*") (command "_.attsync" "name" "*") (princ "
Keine Attributierten Blöcke in Zeichnung definiert!") ) (princ))Die Abfrage ob attributierte Blöcke in der Zeichnung existieren ist notwendig, weil die command attsync Anweisung sonst nen Fehler produziert. Das attsync synchronisiert so ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : ATTSYNC: als command in Lisp, (acet-attsync) usw.
marc.scherer am 17.11.2005 um 09:59 Uhr (0)
Zitat:Original erstellt von Peter2:Damit bleibt nur noch eine Frage von oben:Frage 2:Wie kann ich (acet-attsync) gezielt laden / aktivieren?Antwort:(arxload "battman.arx")------------------Ciao,Marc
|
In das Form AutoLisp wechseln |
|
AutoLisp : ATTSYNC: als command in Lisp, (acet-attsync) usw.
marc.scherer am 17.11.2005 um 10:41 Uhr (0)
Batman muss man immer ernst nehmen ;-)------------------Ciao,Marc
|
In das Form AutoLisp wechseln |
|
AutoLisp : Block einfügen und bearbeiten
marc.scherer am 17.11.2005 um 10:48 Uhr (0)
Hi DoberHeinz,vielleicht könnte man da was mit nem Reaktor hinbasteln...Aber wozu?Bau Dir doch n Lisp, wo die Einfügeprozedur gleich mit verhaftet ist.Warum das DesignCenter.Wenn Du das schlau anstellst, übergibst Du Deiner Routine dann noch den Blocknamen als Variable (z.B.: (DoberHeinzInserter "DoberHeinzensBlock1")) und Du kannst Deine Prozedur auch noch mit unterschiedlichen Blöcken betreiben.------------------Ciao,Marc
|
In das Form AutoLisp wechseln |
|
AutoLisp : Prüfen ob Zahl
marc.scherer am 21.12.2005 um 18:33 Uhr (0)
Hallo Heinz,könnte es sein, dass Du die nützlichen Debug-Funktionen der VLisp-IDE gar nicht benutzt?Solltest Du aber. Hier kannst Du nämlich ne ganze Menge über die Funktionsweise des Lisp-Interpreters lernen indem Du bestimmte Ausdrück überwachen läßt und Deine Proggies Schrittweise arbeiten läßt. Dann ist es auch überhaupt kein Problem für Dich herauszufinden was genau Deinen Fehler verursacht:(read ".1")Was genau soll denn Deine Funktion machen?Soll da am Ende n Integer oder Real rauskommen?Guck Dir mal ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Alles auswählen ausser... mit Lisp
marc.scherer am 11.01.2006 um 17:47 Uhr (0)
Zitat:Tom Berger schrub:Schreib Dir also ein paar elementare Umwandlungsfunktionen (selset-entityliste usw) und ein paar passendeHallo Tom,mal ne grundsätzliche Frage:Ist das immer der richtige Weg?Geht bei wirklich großen Objektmengen nicht eine Menge Zeit für die Umwandlung von Selset nach Liste und später eventuell wieder zurück drauf? Ist bei großen Selsets ein ss-foreach (siehe Mapcars Seiten...) nicht deutlich effizienter?Ich weiß es nicht, bin nicht so der Laufzeit-Analytiker, aber vielleicht kanns ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Alles auswählen ausser... mit Lisp
marc.scherer am 12.01.2006 um 10:38 Uhr (0)
Zitat:Tom Berger schrub:Ich jedenfalls bin dabei noch nie an relevante Grenzen gestoßen.Hi Tom,danke für Deine Aussage.Aber was heißt "relevante Grenzen"?Ich bin hier im GIS unterwegs und eine Verarbeitung von ner Million Objekten oder mehr ist nicht selten. Mit welchen Mengen hattest Du es bisher zu tun?Ciao,Marc
|
In das Form AutoLisp wechseln |
|
AutoLisp : Errorhander und DCL
marc.scherer am 30.01.2006 um 11:31 Uhr (0)
Zitat:Original erstellt von Kenny1:Ich habe die Vermutung, das dies mit DCL eh sehr schwierig ist.Hmm,nö.Wenn das mit dem Errorhandler und DCL nicht klappt würde ich sagen das es am Design Deiner Funktionen liegt.Wenn Du im Errorhandler beim Start das Undo Flag setzen läßt und Deine Funktion verursacht einen Fehler (im Sinne eines *error*, nicht was Dir vielleicht sinnlos erscheint, für Lisp aber KEINEN Fehler darstellt) sollte alles bis zu dem Zeitpunkt VOR dem Start Deiner Funktion zurückgesetzt werden, ...
|
In das Form AutoLisp wechseln |
|
Lisp : Koordinaten auslesen mit Text
marc.scherer am 15.02.2006 um 11:05 Uhr (0)
@cadmium *Applaus* ;-)@CadWernerWillst Du fertige Lisp-Lösungen? Oder willst Du etwas über Lisp lernen?Wenn Du was über Lisp lernen willst bist Du hier ganz gut aufgehoben.Willst Du fertige Lösungen bist Du besser bei kommerziellen Proggern aufgehoben. z.B. http://www.cad-od.de/ Übrigens ist Dein "einwandfreies Lisp" ECHT KRAUTIG.Wo hast Du das denn her? Echt miese Benutzerführung und überhaupt gar nicht irgendwie sauber strukturiert. Davon kann man nix lernen.------------------Ciao,Marc
|
In das Form Lisp wechseln |
|
AutoLisp : _text mit zeilenumbruch
marc.scherer am 15.02.2006 um 12:59 Uhr (0)
Hi,ja, ja der Text Befehl ist in Lisp etwas störrisch.Ich hab mir mal so geholfen:Code:(defun DT:COMMAND-MLINE-TEXT (LST-STRINGS LST-COORDINATE REAL-HEIGHT REAL-ANGLE / FIRST REST) (setq FIRST (car LST-STRINGS) REST (cdr LST-STRINGS) ) (if FIRST (progn (command "_.text" LST-COORDINATE REAL-HEIGHT REAL-ANGLE FIRST) (foreach STR REST (command "_.text" "" STR) ) ) ))Aufruf z.B. so:(DT:CREATE-MLINE-TEXT ("Firstline") (getpoint "
Startpunkt für Text: ") (getdist "
Texthöhe: ") "100g")oder so(DT ...
|
In das Form AutoLisp wechseln |
|
Lisp : mit Lisp Flächen anwählen
marc.scherer am 28.02.2006 um 13:55 Uhr (0)
Zitat:Original erstellt von thoumsen:x bedeutet filterliste0 = entitynummerSon Blödsinn ,Aus der Acad Help: Zitat:X = Entire database. If you specify the X selection method and do not provide a filter-list, ssget selects all entities in the database, including entities on layers that are off, frozen, and out of the visible screen.Und "0" ist nicht die Entitynummer sondern der DXF Gruppencode für einen nachfolgenden Elementtypennamen.------------------Ciao,Marc
|
In das Form Lisp wechseln |