Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Programmierung

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:  Programmierung (473 mal gelesen)
BerndB
Mitglied
Ingenieur


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

Beiträge: 611
Registriert: 28.09.2001

erstellt am: 26. Aug. 2002 17:06    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

Hilfe, Hilfe,

Ich sitze verzweifelt an ACAD 2000 APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface).

Ziel ich will einfach nur mein LAUOUT mit dem NAME "A2 hoch" automatisch anwählen lassen.

Sprich ich möchte mein:    ThisDrawing.ActiveLayout
nicht in ACAD anwählen sondern über einen Befehl.

Kann mir hier jemand weiterhelfen ?
Wenn meine Beschreibung zu undeutlich war, kann ich auch gerne konkreter werden.

DANKE, DANKE im Voraus im Forum.

MfG

BerndB

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 26. Aug. 2002 18: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 BerndB 10 Unities + Antwort hilfreich

Hi Bernd,

ja, das ist ziemlich undeutlich... Ich weiss nicht mal, wie und in welcher Sprache du das möchtest (es sieht wohl nach Basic aus). Aber was hindert dich, in ThisDrawing.ActiveLayout dein gewünschtes Layout reinzusetzen? ActiveLayout ist doch nicht schreibgeschützt...

An das Layout-Objekt kommst du mit ThisDrawing.Layouts.Item("A2 hoch") dran, falls da das Problem liegen sollte.

Gruss, Axel

------------------
http://www.tutorial.autolisp.info
http://www.advanced.autolisp.info[/URL]
http://www.activex.autolisp.info[/URL]

[Diese Nachricht wurde von mapcar am 26. August 2002 editiert.]

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

BerndB
Mitglied
Ingenieur


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

Beiträge: 611
Registriert: 28.09.2001

erstellt am: 27. Aug. 2002 08:43    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 Axel,

vielen Dank für die Info.
Es hat mir geholfen !!!
Zur Erklärung:

Das Programm ist ein VBA Projekt (Datenbank.dvb)
Ich habe eine Blattverwaltung mit unserer DBWorks geschrieben.
Jedes Blatt bekommt einen eigenen Eintrag in die Datenbank.
Beim Öffnen soll also auch das RICHTIGE LAYOUT aktiviert werden.
Dies geht z.Z. über folgende Wege:

1. ACAD.lsp Datei ruft beim Starten von ACAD einen Rahmenupdate auf.
Hierzu muß das Layout automatisch zuerst gewechselt werden:

Es geht jetzt wie folgt:

Dim MyLay As Object
Set MyLay = ThisDrawing.Layouts.item(NAME)
ThisDrawing.Active.Layout = MyLay

Dadurch wird mein NAME der aus der Datenbank kommt als Layout angewählt. !!! 

2. Methode

Privat Sub AcadCommand (ByVal CommandName As String)

If CommandName = "OPEN" Then
.... siehe oben
End If

Hier fehlt mir aber noch ein Weg.
Vielleicht kanst du mir ja auch hier einen Tip geben.

Nummer 1 funktioniert beim Öffnen einer neuen ACAD Sitzung (Programm wird neu gestartet)
Nummer2 funktioniert wenn ACAD geöffnet ist UND ein Dokument in ACAD schon vorher geladen wurde. Wird ein zweites Dokument geladen spricht der OPEN befehl an.

Nummer 3 ???
Wie kann ich einen Event abfangen wenn ACAD geöffnet ist OHNE das ein Dokument ebenfalls geöffnet ist. ???

Selbst das ACAD Event Beispielprogramm (nach Installation im Ordner Exampels) spricht hier durch keine MSGBox an.

Es wäre schön, wenn ich auch den dritten Weg hinbekomme.

MfG

BerndB


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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 27. Aug. 2002 11:13    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 BerndB 10 Unities + Antwort hilfreich

Hi Bernd,

ich versteh's schon wieder nicht: Wozu diese verschiedenen Wege? Die Variante 1 wird doch aus der Acad.lsp in jeder Zeichnung aufgerufen, oder ist bei dir ACADLSPASDOC = 0? Es gibt ja auch noch die Acaddoc.lsp...

Eins ist jedenfalls sicher: Solange *kein* document geladen ist, solange läuft auch *kein* Programm - weder in Lisp, in Basic, noch ARX.

Gruss, Axel

------------------
http://www.tutorial.autolisp.info

http://www.advanced.autolisp.info


http://www.activex.autolisp.info

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

BerndB
Mitglied
Ingenieur


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

Beiträge: 611
Registriert: 28.09.2001

erstellt am: 27. Aug. 2002 16:20    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 Axel,

ACADLSPASDOC war schuld (und damit natürlich ICH).

Thema:

Eins ist jedenfalls sicher: Solange *kein* document geladen ist, solange läuft auch *kein* Programm - weder in Lisp, in Basic, noch ARX.

Hiermit war gemeint ACAD ist geöffnet.

Es ist aber kein Dokument geöffnet (Alle Fenster zu).

Dann läuft bei mir z.B. kein EVENT OPEN DOC an, wenn ich in die leere ACAD Sitzung ein Dokument öffne.

ABER:  da es jetzt läuft, spielt's eh keine Rolle mehr.

Danke und Gruß

BerndB

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