Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  block in Zeichnung beim öffnen autom. einfügen

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:  block in Zeichnung beim öffnen autom. einfügen (604 mal gelesen)
schachtelmacher
Mitglied
Verpackungsmittelmechaniker, Entwicklung


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

Beiträge: 86
Registriert: 07.01.2004

erstellt am: 29. Jan. 2004 08:26    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 Leute,

ich habe folgende Frage:
wie kann ich beim Öffnen einer vorhandenen Datei
- einen Block sofort, unmerklich, ganz automatisch
- in den jeden vorhandenen Papierbereich einfügen
- mit der Abfrage vorher, ob der Block auf allen Papierbereichen vorhanden ist . Wenn ja nicht einfügen und wenn nein überall da einfügen wo er fehlt?
- danach sichern.

Hintergrund der Sache ist:
Ich möchte einen Block mit RText-Elementen in ein Arbeitsblatt im Papierbereich einfügen. Diesen Block brauche ich um z.B. wer das Dokument ausdruckt und wann festzuhalten. Das war bisher nicht nötig. Jetzt brauche ich es, auch bei alten Dokumenten. Manuell möchte ich das nicht machen, da man dies ja vergessen könnte.

Noch was:
Der Block und der Einfügepunkt ist immer gleich

Gruss Ralf 


------------------
"Es gibt keine Probleme, sondern nur Lösungen"

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: 29. Jan. 2004 08:51    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 schachtelmacher 10 Unities + Antwort hilfreich

... die Datei ACADdoc.lsp wird bei jedem Laden einer Zeichnung ausgeführt. Der Blockladebefehl müßte also dort integriert werden...
... Systemvariable "Expert" auf 2 setzen : Unterdrückt die  Eingabeaufforderungen sowie "Block existiert bereits.
... dann (command "-einfüge" ...

oder verwende "Block_def_for_load" von Holger Brische -> http://ww3.cad.de/foren/ubb/Forum145/HTML/000226.shtml

Ach so..., wie du nach öffen gleich in den Papierbereich wechseln kannst findest du unter http://ww3.cad.de/foren/ubb/Forum54/HTML/006109.shtml
im Anhang "switchlayouts.txt"

Gruß Thomas


------------------

[Diese Nachricht wurde von CADmium am 29. Jan. 2004 editiert.]

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 29. Jan. 2004 08:51    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 schachtelmacher 10 Unities + Antwort hilfreich

Hi,
ganz einfach.
Du mußt erst einmal diverse Funktionen schreiben.
# eine die für jedes Dokument die Layouts ermitteln kann
# eine die den entsprechenden Block finden kann
# eine die den entsprechenden Block einfügen kann
und abschließend:
# eine die all' diese Funktionen sinnvoll miteinander kombiniert

Dann brauchst Du diese Funktion nur nch in die S::STARTUP von AutoCAD einbauen (am besten in die Acaddoc.lsp) und dann sollte das gehen.

------------------
Ciao,
Marc

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: 29. Jan. 2004 08:58    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 schachtelmacher 10 Unities + Antwort hilfreich

Hallo Ralf,

du schreibst dir eine Lisp, die deine Layouts nach einem bestimmten Block durchsucht, und wenn dieser gefunden wird dann auch durch den neuen ersetzt. Allerdings, musst du beachten, dass, sofern der Block auch Attribute enthält, die Werte dann von Alt nach Neu übertragen werden.
Diese Lisp packst du mit in die Startgruppe.

Anderer Vorschlag:
Erfahrungsgemäß handelt es sich bei diesen Eintragungen meist um Schriftköpfe. Wenn diesem Block wirklich nur Textelemente (RText) hinzugefügt wurden, also an den Attributen nichts weiter geändert wurde, dann erstelle auch wieder eine LISP in der brauch dann folgendes stehen:
;Test ist der Blockname, den du dann ersetzen musst, natürlich auch den Pfad
(if (tblsearch "BLOCK" "TEST")
  (progn
    (command "_.insert" "test=c:\\adt_r2\\test.dwg" '(0 0 0)"" "" "")
    (entdel(entlast))
    )
  )
Somit werden die Blockdefinitionen aktualisiert.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

schachtelmacher
Mitglied
Verpackungsmittelmechaniker, Entwicklung


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

Beiträge: 86
Registriert: 07.01.2004

erstellt am: 29. Jan. 2004 09:29    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,

soweit sogut. Ihr habt mir schon mal weitergeholfen.
Aber noch eine Frage:

Wie schreibe ich mir eine Schleife, die mir in jeden vorhandenen Papierbereiche diesen Block einfügt.
Muss ich auf jeden Papierbereich wechseln, oder kann ich den Block unmerklich in den P-Bereich einfügen? Ich starte meine Zeichnungen immer im Modellbereich.
und wie kann ich sichern, ohne nachfrage, da ich ja überschreiben will.

Gruss Ralf

P.S. Eure schnelle Hilfe finde ich Klasse 
Allerdings kann es jetzt wieder ein bisschen dauern, bis ich mich melde, denn ich muss noch haufenweise Konstruktionen zaubern.

------------------
"Es gibt keine Probleme, sondern nur Lösungen"

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: 29. Jan. 2004 10: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 Nur für schachtelmacher 10 Unities + Antwort hilfreich

Hallo Schachtelmacher,

die Antworten sind bereits in den vorherigen Postings dabei. Leider hast du nichts zu den Attributen geschrieben, ob die sich auch ändern.

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

schachtelmacher
Mitglied
Verpackungsmittelmechaniker, Entwicklung


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

Beiträge: 86
Registriert: 07.01.2004

erstellt am: 29. Jan. 2004 10:16    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,

die Attribute ändern sich nicht.
Der DieselAusdruck wird ja automatisch aktualisiert. (z.B. loginname)

Gruss Ralf

------------------
"Es gibt keine Probleme, sondern nur Lösungen"

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: 29. Jan. 2004 10:23    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 schachtelmacher 10 Unities + Antwort hilfreich

Hallo Frank,

dann nimm doch diese Zeilen
(if (tblsearch "BLOCK" "TEST")
  (progn
    (command "_.insert" "test=c:\\adt_r2\\test.dwg" '(0 0 0)"" "" "")
    (entdel(entlast))
    )
  )
, dann passiert der Austausch unmerklich, da nur die Blockdefinition aktualisiert wird. Somit brauchst du nicht die Layouts nach diesem Block abgrasen und einfügen. Ist (in meinen Augen) das Einfachste.

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

schachtelmacher
Mitglied
Verpackungsmittelmechaniker, Entwicklung


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

Beiträge: 86
Registriert: 07.01.2004

erstellt am: 03. Feb. 2004 07: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

Hi Leute,

bin bis heute noch nicht dazugekommen mit diesem Problem weiter zu basteln. 

@ Holger
geht das auch, wenn der Block noch nicht vorhanden ist? Eventuell mit (or (if ....)nil)-Anweisung
Er kann auch ausgetauscht werden, wenn er vorhanden ist, da nur ein Dieselausdruck eingefügt wird plus Text davor.
und noch was:
Ich habe es bis jetzt noch nicht geschafft, den Block anständig einzufügen.
Das Problem ist, dass zwar der Einfügepunkt 0,0,0 ist aber der Block auf ca. -99999.99,-99999.99,0 sitzt, obwohl der Text in der .dwg auf 0,0,0 ist. Liegt das am Dieselausdruck?

($(getenv,username),$(edtime, 0, DD"."mo"."YYYY - HH:MM))

Ich habe das Einfügen mit einem anderen Block ausprobiert, und das hat funktioniert.


Gruss Ralf

------------------
"Es gibt keine Probleme, sondern nur Lösungen"

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



Technischer Produktdesigner (m/w/d)

In Schienenfahrzeugen, Kompressoren oder Leistungs­transformatoren, in der Antriebstechnik und im Schiffbau sorgen unsere Ventilatoren zuverlässig für die richtige Belüftung oder Entwärmung. 50 Jahre Erfahrung, rund 470 hoch qualifizierte Beschäftigte weltweit sowie modernste Mess- und Prüfeinrichtungen gewähr­leisten unseren Kunden höchste Qualität. Unsere Produkte stehen für absolute Zuver­lässigkeit, für ein Höchst­maß an Funktionalität und Innovation....

Anzeige ansehenProduktdesign, Industriedesign
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: 03. Feb. 2004 08:41    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 schachtelmacher 10 Unities + Antwort hilfreich

Hallo Ralf,

den Unterschied vom Einfügepunkt und der tatsächlichen Lage kann ich mir nicht erklären. Evtl. ist der Block in der Zeichnung(Blockzeichnung) eben so weit vom Nullpunkt entfernt. Das kannst du mal prüfen.
Immer eingefügt wird der Block wenn du diese Zeilen nimmst:

Code:

(if (tblsearch "BLOCK" "TEST")
  (progn
    (command "_.insert" "test=c:\\adt_r2\\test.dwg" '(0 0 0)"" "" "")
    (entdel(entlast))
    )
  (progn
    (command "_.insert" "c:\\adt_r2\\test.dwg" '(0 0 0)"" "" "")
    (entdel(entlast))
    )
  )

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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