|
Lisp : aus LISP ein SCRIPT aufrufen und dann weiter in LISP
fuchsi am 05.08.2010 um 10:36 Uhr (0)
das Problem ist dabei, dass das LISP und das Script nicht sauber syncron abgearbeitet werdenBeispieldas aufrufende LispCode:(defun c:xx () (alert "vorher") (command "._script" "d:/test/test.scr") (alert "nachher"))Die ScriptdateiCode:._line 0,0,0 1,0,0 (alert "script")was passiertZuerst das Alert VorherDan das Alert NachherUnd zum Schluss das Alert ScriptEigentlich wollten wir es ja ganz anders.IMHO, die einzige Möglichkeit, die ich sehe, dass das Fremappli Script zu Schluss Dein Nachbearbeitungslisp aufru ...
|
| In das Form Lisp wechseln |
|
AutoLisp : LISP für LISP
fuchsi am 24.02.2004 um 13:35 Uhr (0)
ich hab mir da ein ordnersystem angelegt. jedes projekt (z.b:: eine programm-sammlung zum leichteren ausdrucken)kommt in einen spez orner, zusätzlich gibt es den allgemein-ordner, in den kommen lisp-programme die allgemein , sagen wir eine lisperweiterung sind (wie z.B.: die nachprogr. vb-befehle TRIM, REPLACE , SPLIT usw). in jedem ordner habe ich unterverzeichnisse für dcl-dateien, lisp-dateien, dwg-dateien usw. dazu eine intelligente Lade-automatik, die jeweils genau weiss, aus welchen ordner sie laden ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Script aus Lisp mit Command aufrufen
fuchsi am 11.09.2007 um 11:34 Uhr (0)
Zitat:Original erstellt von Peter2:Nun kann ich- Laymrg nicht direkt mit Lisp ansprechen- rename nur mit Lisp ansprechen, wenn ich die Layernamen direkt als Name übergebe und nicht als !Variable[/B]Laymrg kenne ich nicht, ich verwende keine Expresstools.Rename : warum soll man denn rename nicht per lisp verwenden können ?(setq AltLayer "Layer1")(setq NeuLayer "Layer2")(command "._rename" "_layer" altLayer neuLayer)Funktioniert Doch tatelos !------------------ Ing. Anton FuchsWWW.FFZELL.AT.TC
|
| In das Form Lisp wechseln |
|
AutoLisp : activeX und "altes" lisp
fuchsi am 17.11.2003 um 14:10 Uhr (0)
habt ihr auch schon mal bemerkt, wenn man activex-befehle (z.B.: vla-SETXDATA) mit standard lisp (entmake, entget ,..) kombiniert, dass autocad öfters mal mit einem systemfehler crashed (eLockViolation - error) Abhilfe filft hier ein sinmples (Command ._READRAW ) zwischen den einzelnen technologien ------------------ *********************************************** AutoCad 2000i, 2002, 2004 deutsch und englisch Windows 2000, NT, XP
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Plotdialog in Lisp nutzen
fuchsi am 17.10.2003 um 08:45 Uhr (0)
ja ich arbeite sehr gerne mit reaktoren hab z.B.: einen, der nach dem befehl copy,reihe,pasteclicp usw. die neu erstellten teile in der zeichnung analysiert, und automatisch neue positionsnummern vergibt. das hat den vorteil, dass ich rund um den autocadbefehl keine eigene routine schreiben muss, und die originalen autocadbefehle nicht sperren muss. so kann der anwender wie gewohnt mit den bekannten autocad-befehlen arbeiten, und hinterher läuft mein lisp an
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Plotdialog in Lisp nutzen
fuchsi am 15.10.2003 um 16:41 Uhr (0)
ich mach sowas mit den COMMAND Reaktoren vor dem plotten werden bei mir systemvariablen verändert, layer auf nicht plottbar geändert. nach dem plotten werden die systemvariablen zurückgesetzt vt. KEIN eigener plot-befehl, es bleibt der standard plot-aufruf per befehl, werkzeugkasten menü weiters hab ich das so ausgebaut, dass z.B.: vor den bemassungsbefehlen ein eigener layer gesetzt wird, nach der bemassung der alte zurückgesetzt das schau in etwa so aus : ; reaktor definieren (vlr-remove-all :vlr-editor- ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Verwendete CTB über Lisp auslesen
fuchsi am 31.10.2003 um 09:00 Uhr (0)
tipp zum raussuchen dieser undokumentieretn vla befehle verwende ich folgendes kleines lisp (foreach n1 (atoms-family 1) (if (wcmatch n1 VLA-GET* ) (print n1)) ) listet alle befehle auf die mit VLA-GET beginnen dann die gefundenen befehle in google eingeben, da findet man dann haufenweise beispiele dazu, ist zwar eine mühsame sucherei lohnt sich aber
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Mehrfache Dateiauswahl in (Visual-)Lisp.
fuchsi am 14.01.2004 um 10:00 Uhr (0)
den coomondialog kannst du so ansprechen (setq x (vlax-create-object MSComDlg.CommonDialog )) (vlax-put-property x Filename *.* ) (vlax-put-property x MaxFileSize 10000); in lisp unbedingt notwendig, sonst kommt ne fehlermeldung von wegen zu wenig speicher (vlax-put-property x Flags 524800); mehrer Dateien+explorer-design (vlax-put-property x Action 1) ; showopen-dialog (setq erg (vlax-get-property x Filename )) nur gibt es da ein kleines (eigentlich großes) Problem: das sch.. commondia ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Lisp auf Funktion einer DLL warten lassen
fuchsi am 13.02.2004 um 12:53 Uhr (0)
erzähl mal, was bastelst du denn so. verwendest du die activex.dll um in lisp ansprechendere dialoge (als das sch...ß DCL) zu bekommen. hab ich auch probiert, bin aber wieder davon abgekommen (ich möchte mir das installieren auf den zierlrechnern sparen) und hab mir ObjectDCL gekauft. super Möglichkeiten (z.B.: andockbare Dialoge ähnlich dem eigenschatseditor in acad) leider etwas kompliziert zum proggen (zu mindest am anfang) ------------------
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Lisp auf Funktion einer DLL warten lassen
fuchsi am 09.02.2004 um 19:42 Uhr (0)
hm also ich kenn das anders, wenn du eine activeX dll schreibst, und diese mit (setq dll (vlax-get-or-create-object meinedll.meineklasse )) startest und dann (vlax-invoke dll meineFunktion ) dann wartet lisp sehr wohl, biss die funktion beednet ist hm vielleicht , wenn es eine Public SUB ist und keine public FUNCTION muss ich mal ausprobieren. ------------------
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Lisp auf Funktion einer DLL warten lassen
fuchsi am 12.02.2004 um 08:37 Uhr (0)
dann liegts sicher am aufrud des dialoges form1.show bzw. form1. show vbmodal wenn du in vb modeless eine form öffnest, läuft vb weiter und wartet nicht aud die beendigung des dialoges, ööfnest du den dialog modal, wartet vb auf die beednigung des dialoges, lisp wartet auf jeden fall auf die beedndugung der aufgerufenen funktioen, nur die funktion muss auch auf die beednedigung des dialoges warten ------------------
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Lisp für Speichern von ACAD 2004 auf 2000
fuchsi am 17.12.2003 um 09:03 Uhr (0)
ich würd das lisp gleich lassen, und im konfig-dialog einstellen, dass autocad2004 generell im 2000er format speichern soll. diese einstellung empfiehlt sich generell, solange man mit versch. versionen in einer firma arbeitet. obwohl man dabei die vorteile des abgespeckten 2004-formates verliert. das einzig was schade ist, dass der befehl WBLOCK diese einstellung nicht benutzt. (meiner meinung nach nicht sehr konsequent durchgezogen von seiten adesk) ------------------
|
| In das Form AutoLisp wechseln |
|
AutoLisp : kleines aber feines LISP
fuchsi am 31.10.2003 um 11:13 Uhr (0)
will ich euch nicht vorenthalten oft hat man lisp-ausdrücke, die auf einen fehler auflaufen können gerade wenn man z.B: mit activex arbeitet ich habe mir da eine TRY funktion gescrieben z.B.: (if (not (setq daoobj (vlax-get-or-create-object DAO.DBENGINE.35 ))) (setq daoobj (vlax-get-or-create-object DAO.DBENGINE.36 )) ) (try vlax-invoke (list daoobj OPENDATABASE D: est.mdb )) ergibt t fallse die methode OPENDATABASE erfolgreich ist sonst NIL ; ; Testroutine ergibt nil im Fehlerfall ansonst den ...
|
| In das Form AutoLisp wechseln |