|
AutoLisp : LWPolyline in Bögen umwandeln
fuchsi am 25.02.2004 um 10:11 Uhr (0)
oder über lisp (vl-load-com) (setq en (car (entsel))) elementnamen polylinie holen im beispiel über entsel (setq a1 (vlax-ename- vla-object en)) zu einem vla-object machen (setq erg (vlax-invoke a1 explode )) ursprungen achtung die polylinie bleibt bestehen, zusätzlich werden die geursprungten elemente erzeugt und die erzeugten elemente in der liste erg (als vla-object) zurückgegeben ------------------
|
In das Form AutoLisp wechseln |
|
AutoLisp : sonnenstandsberechnung
fuchsi am 23.03.2004 um 20:51 Uhr (0)
im acad gibts ja unter den lichtquellen, die option eine sonnenstandsberechung durchzuführen, um ein parallellicht einzurichten. ich bräuchte dies nun per lisp (eingabe der breiten- und höhengrade , datum, uhrzeit usw) und bekomme Azimut und Höhenwinkel zurück. kann man diese interne funktion verwenden, oder muss man das neu proggen ??? ------------------
|
In das Form AutoLisp wechseln |
|
AutoLisp : Mauskoordinaten bei Klick ?
fuchsi am 22.04.2004 um 08:43 Uhr (0)
funktionen aus API -dll´s geht nicht in lisp ------------------
|
In das Form AutoLisp wechseln |
|
AutoLisp : Layerliste
fuchsi am 22.06.2004 um 08:23 Uhr (0)
ich weiss zwar nicht was ne liste mit den layernamen mit reaktoren zu tun hat , aber dieses kleine lisp erzeugt die eine solche liste (defun LayerListe (/ liste layer) (setq layer (tblnext LAYER t)) (while layer (setq liste (cons (cdr (assoc 2 layer)) liste)) (setq layer (tblnext LAYER )) ) (acad_strlsort liste) ) ergibt z.B: bei einer testzeichnung von mir Befehl: Befehl: (layerliste) ( 0 1 2 3 A-AREA A-BENE A-COLUMNS A-DOORS A-DOORS_GLASS A-EQUIPMENT A-HIDDEN A- ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Speichern von Systemvarablen in Lisp-Programmen
fuchsi am 22.06.2004 um 15:53 Uhr (0)
Das eigentliche Thema ist meiner Meinung nach die Gültigkeit(-dauer) von Variablen. 1. beispiel (defun xxx (/ old_osmode ) (setq old_osmode (getvar OSMODE )) ...... (setvar OSMODE old_osmode) ) hier ist die lispvariable nicht lokal, sondern nur in der funktion xxx gültig, da das rücksetzen der systemvariablen jedoch in der gleichen funktion passiert, ist das kein problem 2. beispiel (defun masterprogramm ( / old_osmode ) (speicherevariable) .... (rücksetztevariable) ) (defun speicherevariable (/ ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Systemvariablen-Tool
fuchsi am 08.07.2004 um 16:12 Uhr (0)
@mapcar kurze Frage warum machst du eigentlich den Genauigkeitsfaktor vom eual als lokale variable ? *epsilon* ist ads eine lokale einstellung, die für alle deine lisp-programme gilt ? ------------------
|
In das Form AutoLisp wechseln |
|
AutoLisp : Befehle bei jeder Zeichnung und nur beim Start
fuchsi am 02.08.2004 um 11:58 Uhr (0)
an und für sich alles nicht so leicht lösbar. die punkt.exe soll solange laufen, wie die acad.exe läuft, und zwar nur genau 1 mal. beim beenden der acad.exe soll auch die punkt.exe beendet werden. das wirst du so mit lisp nicht ermöglichen können. (zwar das einmalige starten mittels blackboard, aber nicht das beenden, (naja mit einem VBA Reaktor application.AppDeactivate und wilden API -Funktionen die aus dem Taskmanager applis abschiessen)) Besser wäre es eigentlich, wenn Programme , die nur 1mal laufen d ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Max. Länge einer Variable
fuchsi am 27.09.2004 um 08:16 Uhr (0)
mir ist beim lisp-befehl open auch mal aufgefallen, dass er bei langen pfadnamen , die leerzeichen,äöüß usw. beinhalten manchmal probleme hat. Solche Pfade sollte man sowiso generell vermeiden. Leider wird die Verzeichnisstruktur, und damit der Explorer als kleine Projektverwaltung missbraucht. Und damit erhält man oft solche irrsinnigen Pfadangaben. ------------------ WWW.FFZELL.AT.TC
|
In das Form AutoLisp wechseln |
|
AutoLisp : Block an einer Kante absetzen mit OFang möglich ?
fuchsi am 28.09.2004 um 14:17 Uhr (0)
nun ja , das ist ja fast das gleiche ! osnapcoord = 2 : koordinaten per tastatur haben AUSSER bei scripen (über (command) geschossen) vorrang vor dem Objektfang osnapcoord = 1 : koordinaten per tastatur haben immer vorrang vor dem Objektfang osnapcoord = 0 : Objektfang hat immer vorrang !!! ob du das jetzt so löst : (setq OldOsnapCoord (getvar OSNAPCOORD )) (setvar OSNAPCOORD 1) (command _insert WD X ff1 Y ff2 Z ff3 p11 ) (command _rotate (entlast) p1 deg) (setvar OSNAPCOORD OldOsnap ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Kreiskoordinaten Variable benutzen???
fuchsi am 18.10.2004 um 12:48 Uhr (0)
errinnert mich irgendwie an das übungsbeispiel Gartenweg in der Visual-lisp Onlinehilfe. Vielleicht mal danach suchen. ------------------ WWW.FFZELL.AT.TC
|
In das Form AutoLisp wechseln |
|
AutoLisp : Befehlswiederholung (ODCL)
fuchsi am 20.10.2004 um 15:02 Uhr (0)
da du im clickevent des buttons nur lispausdrücke reingeben kannst, wirst du das so nicht hinkriegen ich nehm mal an du hast den programmaufruf so drin (c:test), da kannst du aber keine begfehlswiederholung machen leider erkennt (command test ) keinerlei c: lisp-programme ein umweg wäre dieser (vlax-invoke (VLA-GET-ACTIVEDOCUMENT (vlax-get-acad-object)) sendcommand test ) wobai das test das c: programm ist (defun c:test (/) ...) da funktioniert die befehlswiederholung, da ja die methode sendcomman ...
|
In das Form AutoLisp wechseln |
|
Lisp : Layer umschalten bei der Bemassung
fuchsi am 27.10.2004 um 10:33 Uhr (0)
ich vermute eher , dass das reaktor lisp auf abruch mit ESC nicht reagiert, da der :vlr-commandEnded aber nicht der :vlr-commandCancelled eingebaut ist. d.h. beim abbruch mit ESC wird der originale Layer nicht wieder zurückgestellt.(defun reaload ();Initialisierung des Reactors (if (not *DEFUN_DIMLAYER*) (progn (setq *DEFUN_DIMLAYER* (VLR-Command-Reactor "*DEFUN_DIMLAYER*" ((:vlr-commandEnded . after_lay) (:vlrcommandCancelled . after_lay) (:vlr-commandwillstart . pre_lay) ...
|
In das Form Lisp wechseln |
|
AutoLisp : Plinien einzeln schraffieren
fuchsi am 28.11.2003 um 12:59 Uhr (0)
funktioniert tadellos allerdings ist in deinem angehägntem lisp ein fehler die zeile (repeat (sslength ss)) hat ein ) zuviel richtig : (repeat (sslength ss) allerdings dürfte das lisp mit diesem fehler keine einzige polylinie schraffieren. da es wegen klammerfehler nicht ladbar ist ------------------ *********************************************** AutoCad 2000i, 2002, 2004 deutsch und englisch Windows 2000, NT, XP
|
In das Form AutoLisp wechseln |