Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  DWG öffnen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  DWG öffnen (1436 mal gelesen)
JoBoCAD
Mitglied
Dipl. Ing (FH)


Sehen Sie sich das Profil von JoBoCAD an!   Senden Sie eine Private Message an JoBoCAD  Schreiben Sie einen Gästebucheintrag für JoBoCAD

Beiträge: 32
Registriert: 12.02.2005

erstellt am: 08. Dez. 2005 08:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,
ich möchte innerhalb eines LISP-Programmes eine neue DWG öffnen lassen. Mein LISP-Programm soll dann in dieser neuen Datei ausgeführt werden.
Irgendwie habe ich jetzt schon alles versucht aber komme nicht zum Erfolg.

Wer kennt den Weg zum Ziel und verrät den mir ???

Danke an alle im Voraus

JoBo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 08. Dez. 2005 08:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JoBoCAD 10 Unities + Antwort hilfreich

Du lädst dein Lispprogramm in den Namensraum der Zeichnung, nicht in den von ACAD, somit: wenn du eine neue Zeichnung lädst, gibts da dein Lisp gar nicht, und du kannst es da nicht weiterführen. was du vorhast, geht so also nicht!!

TeilLösungen:
a)Via ActiveX kann man auch auf offene, nicht aktive Zeichnungen zugreifen.
b)dein Lisp in der acaddoc.lsp laden lassen und mittels z.B: Blackboardvariable ->vl-bb-ref / vl-bbset die Ausführung steuern

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 08. Dez. 2005 09:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JoBoCAD 10 Unities + Antwort hilfreich

Hallo,

eine andere Möglichkeit ist auch das Schreiben eines Scripts mit der aufrufenden Funktion.
Dieses muss die Zeichnung öffnen, die LSP-Datei laden und das Programm starten.


Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JoBoCAD
Mitglied
Dipl. Ing (FH)


Sehen Sie sich das Profil von JoBoCAD an!   Senden Sie eine Private Message an JoBoCAD  Schreiben Sie einen Gästebucheintrag für JoBoCAD

Beiträge: 32
Registriert: 12.02.2005

erstellt am: 08. Dez. 2005 09:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
danke für die Beiträge. In Sachen SCR-Datei ist es doch so, dass der command "script" Befehl erst am Ende der LISP-Routine gestartet werden kann. Zu Programmbeginn, dort wo ich es gerne hätte, lässt sich das Abarbeiten eines Scriptes nicht durchführen.

Dass ich mit Visual LISP bessere Chancen habe ist mir schon klar.
Das Problem muss ich jedoch auf Basis vom "einfachen "LISP" lösen.

Nochmals Danke
JoBo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

klapproth
Mitglied



Sehen Sie sich das Profil von klapproth an!   Senden Sie eine Private Message an klapproth  Schreiben Sie einen Gästebucheintrag für klapproth

Beiträge: 13
Registriert: 03.12.2005

erstellt am: 08. Dez. 2005 10:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JoBoCAD 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von JoBoCAD:
...ist es doch so, dass der command "script" Befehl erst am Ende der LISP-Routine gestartet werden kann.

Ich denke, Holger meinte das genau umgekehrt: Das Script startet die Lisp-Routine.

Außerdem bleiben noch weitere Möglichkeiten:

a) Das Lisp-Programm modifiziert vorübergehend die Acaddoc.lsp und trägt dort seinen eigenen Neustart für die 2. Zeichnung ein. Dort gestartet, entfernt es den Eintrag aus der acaddoc.lsp zuerst und führt dann seine Aufgaben aus.

b) Du trägst einen Stub-Loader in die Acaddoc.lsp ein, der immer vorhanden ist und dessen Aufgabe es ist, in einem festgelegten Ordner hinterlegte Aufgaben auszuführen. Bei jeder neu geöffneten Zeichnung wird das ausgeführt, was da als ToDo-Sammlung liegt, und alle Programme darin löschen sich selbst, nachdem sie erledigt sind (d.h, vor jedem Neu-Öffnen schiebst du Kopien rein).

c) Etwas härter ist dann die Methode 'Speichertransfer'. Man schreibt den gesamten Lisp-Speicher in eine Datei und lädt ihn dann in die nächste Zeichnung wieder rein. Im Prinzip ist das einfach, viel mehr als foreach und atoms-family braucht man zum Schreiben nicht. Eingelesen wird mit load, und die ganze Atomsippe wird gnadenlos überschrieben. Das kann man allerdings nur machen, wenn keine Handles und Entitynamen transferiert werden. Der Teufel steckt hier aber im Detail, nämlich in der Wahl zwischen print, princ, prin1 usw. Sonst passiert es leicht, dass aus langen Zeichenketten kurze Symbole werden, weil die Anführungs- und Steuerzeichen während des Transfers verdunsten.

Wenn du dich mal zum "Warum" äußerst, könnte man konkretere Tipps geben.

Grüße, Justus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JoBoCAD
Mitglied
Dipl. Ing (FH)


Sehen Sie sich das Profil von JoBoCAD an!   Senden Sie eine Private Message an JoBoCAD  Schreiben Sie einen Gästebucheintrag für JoBoCAD

Beiträge: 32
Registriert: 12.02.2005

erstellt am: 08. Dez. 2005 12:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Justus,
danke für Eure Beiträge. Ich bin ein wenig auf der Leitung gesessen.
Das Problem werde ich durch ne Scriptdatei die zuerst ne Zeichnung öffnet und mir dann dann das Programm anwirft lösen.

Wie gesagt, ab und zu sitzt man halt auf der Leitung, dafür ist es umso schöner wenn man Antworten aus dem Forum erhält

Gruss
JoBo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mkl-cad
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von mkl-cad an!   Senden Sie eine Private Message an mkl-cad  Schreiben Sie einen Gästebucheintrag für mkl-cad

Beiträge: 378
Registriert: 23.07.2003

ACAD 2002
Express Tools 1-9
Architektural Desktop
Windows XP
Server Windows 2003
3 GHz Rechner
1 GB RAM
80 GB Festplatte
ATI FireGL V3100
2 17" Flachbildschirme

erstellt am: 09. Dez. 2005 09:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JoBoCAD 10 Unities + Antwort hilfreich

Noch ne Möglichkeit:

Befehl aufrufen, der Speichert eine Information in eine externe Datei.

Dann neue Zeichnung öffnen lassen.

Dann wird die acaddoc.lsp ja neu geladen.

Dort in der STARTUP Funktion nach der externen Datei suchen lassen und dort die Informationen auslesen, bzw zurücksetzen lassen.
Je nachdem welche Info in der externen Datei stand einen Befehl starten lassen oder eben nicht.

Dann gehts auch nur mit Lisp ohne Script.

------------------
  Martin 

Viele Grüße aus dem schönen Münsterland!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz