|
Autocad VBA : lisp-ausdruck auswerten
fuchsi am 19.05.2004 um 12:29 Uhr (0)
brauchst du das mitten in einer VBA-Routine ? dann wirst du ein kleines Problem bekommen du kannst zwar mit sendcommand (MeineLisprotuine ..) die arx starten, aber VBA wartet dir nicht , bis sie fertig ist. (du müsstest dann irgendwie in einer schleife abfragen, bis z.B.: USERS1 neu gesetzt ist, finde ich nicht so toll) erzähl doch mal, was die arx-funktion so macht, vielleicht kann man das rel. leicht in VBA nachproggen (wäre meiner Meinung nach die sauberere Lösung)? @defun Autodesk Anwendertreffen am ...
|
| In das Form Autocad VBA wechseln |
|
Lisp : Lisp warten lassen
fuchsi am 16.12.2008 um 15:54 Uhr (0)
sowas geht in Verbindung VBA und Lisp relativ einfachals erstes legts Du ein VBAModul an names mdShell mit fogendem CodeCode:Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As LongPrivate Declare Function CreateProcessA Lib "kernel32" (ByVal lpApplicationName As Long, ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnviro ...
|
| In das Form Lisp wechseln |
|
Rund um AutoCAD : Mehrsprachigkeit
fuchsi am 10.08.2010 um 12:44 Uhr (0)
Ich muss meine Applikation in 3 Sprachen ausliefern (Deutsch, Englisch, Französisch)Lisp und C#.net ist ja kein Problem. Alle möglichen Texte einfach in eine Resourcendatei auslagern, und je nach Acad Version auf die entsprechende Resource zugreifen.Aber immer diese 3 fach Pflege der CUIs ärgert einen. Auch würde ich ganz gerne dynamische Blöcke verwenden. Aber die sind ja leider auch nicht mehrsprachig möglich, und somit 3 fach zu warten.Hat da wer Ideen, oder bleibt mir nichts anderes übrig, als alles 3 ...
|
| In das Form Rund um AutoCAD wechseln |
|
Autocad VBA : fokusweitergabe an einen anderen dialog
fuchsi am 20.12.2004 um 15:27 Uhr (0)
hallo Jan ! Solange dein VB-Userform die Eigenschaft ShowModal=JA hat, kann Autocad keinerlei Steuerung selbst ausführen (sendcommand ist eine Anweisung an Autocad). Das ist vergleichbar, mit den Alten Dialogboxen in Lisp. genausowenig kannst Du ja in deiner Zeichung , z.B.: Objekte wählen, solange der Dialog geöffnet ist. 2 Möglichkeiten 1.) Du bettest Deine Hilfe in ein VBA-Unterformular ein, dass kannst du anzeigen lassen 2.) Du setzt die Eigenschaft ShowModal = Nein, dann kann Autocad neben dem angez ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Block copieren und neu einfügen
fuchsi am 20.07.2005 um 16:15 Uhr (0)
habe im vorigen Lisp-Beispiel die Funktion Try vergessen, die wird dazu benötigt. Das ganz wird dann so verwendet (setq doc (OdbxOpenDwg d: est.dwg )) (OdbxCopyBlock doc Blockname_in_test.dwg gewünschter_Blockname_in_aktueller_Zeichnung) (OdbxCloseDwg doc) ;------------------------------------------------------------------------------ ; Testroutine ergibt nil im Fehlerfall ansonst den Rückgabewert der zu ; testenden Funktion ; ist d ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : ARX-Anwendungen
fuchsi am 28.11.2003 um 14:25 Uhr (0)
eine technologie habe ich noch vergessen Object DBX das ermöglich den zugriff auf dwg-zeichnungen ohne autocad installiert zu haben, z.B.: verwednet ads der volo-view umd die dwgs zu betrachten. bekommst du leider auch nur als developer eine kleine version ist in autocad integriert, da autocad intern auch diese technologie verwendet. du hast inenrhalb von autocad (z.B: VBA oder LISP) die möglichkeit zeichnungen zu verändern ohne diese zu öffnen, brauchst aber autovad dazu ------------------ ************* ...
|
| In das Form Autocad VBA wechseln |
|
AutoCAD ARX Object : C#.net Objekte als gewählt markieren
fuchsi am 07.05.2009 um 15:13 Uhr (0)
Ich möchte mir mit C#.NET einen eigenen Filterbefehl schreiben (um z.B.: Objekte in der Zeichnung nicht nach layer, farbe usw. sondern nach EED-Inhalten zu markieren)In etwas so: markiere mir alle Blöcke, die in den EEDs den Lieferanten XYZ und die Bestellserie ZYX haben. Danach soll der Benutzer mit Standard Autocad Befehlen (Schieben, Löschen was auch immer) diese Selektion verwenden können. Wie halt der klassische FilterbefehlWie ich die Objekte suche, und die EEDs auslese, ist bekannt. (auchd er EED AU ...
|
| In das Form AutoCAD ARX Object wechseln |
|
AutoLisp : Sub/Function möglich ??
fuchsi am 21.10.2004 um 08:56 Uhr (0)
natürlich geht das z.B.: du musst des öfteren 2 werte addieren (ok. sehr einfachjes Beispiel aber was solls) dann kannst du dir dazu eine eigene funktion schreiben, die das macht z.B.: (defun Addiere ( wert1 wert2 / ) (+ wert1 wert2 )) die funktion heisst nun addiere und hat 2 übergabepaarameter. zurückgegeben wird das ergebniis der letzten klammer (+ wert1 wert2) diese funktion kannst du nun in allen Lisp-Programmen verwenden. z.B.: (setq w1 (getreal bitte wert1 eingeben )) (setq w1 (getreal bitte wert2 ...
|
| In das Form AutoLisp wechseln |
|
Lisp : AutoLISP englisch - deutsch
fuchsi am 29.02.2008 um 11:16 Uhr (0)
diese Lisps werdet ihr wohl händisch überarbeiten müssen.Dazu ein TippNehmt immer die englischen Befehle mit einem vorangestelltem Unterstrich(command "_MOVE"..) anstatt (command "SCHIEBEN"..)diese Schreibweisefunktioniert auf allen Autocadversionen, udn sit damit sprachunabhängig.Bei den Optionen niemals die Optionskürzel verwenden, sondern die Optionen immer auschreiben(command "_layer" "_Thaw" ..) statt (command "_layer" "_t" ...)ist erstens lesbarer, und zweitens kann man sich sicher sein, dass das Lis ...
|
| In das Form Lisp wechseln |
|
Lisp : Script aus Lisp mit Command aufrufen
fuchsi am 11.09.2007 um 15:11 Uhr (0)
Zitat:Original erstellt von Peter2:Besten Dank. Mein Kurztest zeigt, dass es mit Übergabe von Strings klappt, dass er aber anscheinend Variablen nicht auswerten kann: Rückgabe nil, keine Meldung, keine Änderung Zitat:(LAYMRG+ ("AM_1" "AM_2") "0")ein gerne gemachter Fehler :(setq AltLayer "IrgendEinAlterLayer")(setq NeuLayer "IrgendEinNeuerLayer")(LAYMRG+ (AltLayer) NeuLayer)kann nicht gehen, in quotierten Listen werden Variabeln nicht evaluiert, sondern als Symbol übergeben-(LAYMRG+ (LIST AltLayer) NeuLay ...
|
| In das Form Lisp wechseln |
|
Rund um Autocad : AutoCAD 2006
fuchsi am 15.03.2005 um 13:52 Uhr (0)
sind nicht wirklich überragende neue Dinge drin (zumindest nichts, was wir nicht schon gebraucht hatten, und deswegen selber in LISP/VBA erledigt haben) OK: Über diese dynamische Optionseingabe kann man streiten. Aber ich als Tastaturfetischist habe sofort die Kommandozeile wieder eingeschaltet. Meiner Meinung nach, rechtfertigt, das bisserl Weiterentwicklung keineswegs eine Versionierung. (Da wäre ja früher z.B.: das Update von 14.00 auf 14.01 eher eine neue Verkaufsfähige Version gewesen (Implementierun ...
|
| In das Form Rund um Autocad wechseln |
|
AutoLisp : DCL List_box alle auswählen
fuchsi am 13.08.2004 um 12:54 Uhr (0)
1. im action_tile gilt meines wissens nach nur ein LISP - ausdruck also statt (action_tile "clear_all" (strcat "(set_tile "layer_list" "")" "(set_tile "selection_msg" "")" ) ) müsste es so ausschauen (action_tile "clear_all" (strcat "(progn (set_tile "layer_list" "")" "(set_tile "selection_msg" ""))" ) ) ich starte da sowieso lieber eine unterfunktion, als das action-tile so unleserlich hinzuschreiben Um alle Inhal ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Num.LSP (Einfügepunkt)
fuchsi am 06.08.2004 um 11:51 Uhr (0)
aus der Lisp-Hilfe (DXF-Referenz) 72 Typ für Horizontale Textausrichtung (optional; Vorgabewert = 0); Ganzzahlcodes, nicht bitcodiert 0 = Links, 1 = Oben, 2 = Rechts 3 = Ausgerichtet (falls vertikale Ausrichtung = 0) 4 = Zentriert (falls vertikale Ausrichtung = 0) 5 = Angepaßt (falls vertikale Ausrichtung = 0) 73 Typ für vertikale Textausrichtung (optional; Vorgabewert = 0): Ganzzahlcodes (nicht bitcodiert): 0 = Basislinie; 1 = Unten; 2 = Mitte; 3 = Oben Weitere Informationen finden Sie in den Tabellen d ...
|
| In das Form AutoLisp wechseln |