| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Usprung von Blöcken in Layouts (716 mal gelesen)
|
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001
|
erstellt am: 06. Mai. 2003 17:29 <-- editieren / zitieren --> Unities abgeben:
Hallo ihr lieben Helferleins, ich möchte einen Block, der auf verschiedenen Layouts eingefügt ist, möglichst in einem Rutsch xploden. Mein Problem dabei ist die Erstellung des Auswahlsatzes und der anschließende Command. Könnte mir vielleicht jemand einen Denkanstoss in die richtige Richtung verpassen. Habe leider hier noch nichts passsendes in dieser Richtung gefunden. ------------------ Gruß Heidi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1764 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 06. Mai. 2003 18:49 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
Hallo Heidi dazu mal eine Frage. Sollen alle Blöcke mit dem selben Namen, in allen Layouts (auch im Modellbereich), explodiert werden, oder nur die, die in bestimmten Layouts eingefügt wurden? Grüße Heinz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001
|
erstellt am: 07. Mai. 2003 08:32 <-- editieren / zitieren --> Unities abgeben:
Moin Heinz, es ist ein Blockname, der in den Layouts aufgelöst werden soll. Es kann aber mal passieren, dass er bereits auf einem Layout per Hand aufgelöst wurde. Da es ein Blattrahmen ist, kommt er nur im Layout vor. Irgendwie ist mein Hirn in der Richtung vernagelt, wäre schön, wenn du meine Bretter wegnehmen könntest ;-) ------------------ Gruß Heidi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 07. Mai. 2003 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
Hallo Heidi, anbei ein Tool, welches gewählte Blöcke in allen Layout's explodiert. Dennoch ein paar Ausführungen zum Prinzip Ich durchlaufe alle Elemente aller Layout's und wenn ein Block mit dem gesuchten Namen gefunden wird, dann wird dieser explodiert. Bei Fragen ... Grüße Holger
------------------ Holger Brischke CADlon - Lisp over night! Neue Tool's im Free-&Download Zugang zum Download schon gesichert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001
|
erstellt am: 07. Mai. 2003 10:13 <-- editieren / zitieren --> Unities abgeben:
|
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001 Dell Precicion M6700 Nvidia Quadro K3000M AutoCAD 2012 Sp2 nXtRender Tetra4D eigene Tools Adobe CreativeSuite 6 ——————————— MacBook Pro i9 2,3/16/5 Big Sur 11.5.1 BricsCAD V21 Pro
|
erstellt am: 07. Mai. 2003 10:28 <-- editieren / zitieren --> Unities abgeben:
@Holger schnüff... leider erscheint dies hier: Befehl: xploda _.undo Anzahl der rückgängig zu machenden Operationen eingeben oder [Auto/Steuern/Beginn/Ende/Markierung/Rück] <1>: _group \fehl: CADlon-Abbruch: Automatisierungsfehler. Keine Beschreibung verfügbar. und die Blöcke sind noch Blöcke. Habe das in 2000 probiert, oder sollte das Teil erst unter 2002 gehen? Die Auswahlbox bekomme ich, soweit also ok. Was nun? Heidi ------------------ Gruß Heidi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 07. Mai. 2003 10:34 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
|
nahe Ehrenmitglied
Beiträge: 1764 Registriert: 18.01.2001
|
erstellt am: 07. Mai. 2003 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
Hallo Heidi vielleicht funktioniert es ja auch damit. Geht auch ganz ohne Active-X Grüße Heinz (defun C:exp( / ll bn as i e) (if (setq ll (getlaylist)) (progn (if (and (setq bn (entsel "\nBlock wählen: ")) (= (cdr (assoc 0 (entget (car bn)))) "INSERT") ) (progn (setq as (ssget "X" (list (cons 0 "INSERT") (cons 2 (cdr (assoc 2 (entget (car bn)))))))) (foreach n ll (setq i 0) (setvar "CTAB" (car n)) (while (setq e (ssname as i)) (if (= (cdr (assoc 410 (entget e))) (car n)) (command "._EXPLODE" e "") ) (setq i (+ i 1)) ) ) ) ) ) ) )
(defun getlaylist( / ll di n layname layent) (setq ll nil z 0) (setq di (namedobjdict)) (setq di (dictsearch di "ACAD_LAYOUT")) (foreach n di (if (= (car n) 3) (progn (setq layname (cdr n)) (if (/= layname "Model") (setq z 1) ) ) ) (if (and (= z 1) (= (car n) 350)) (progn (setq layent (cdr n)) (setq ll (cons (cons layname layent) ll)) (setq z 0) ) ) ) (reverse ll) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001 Dell Precicion M6700 Nvidia Quadro K3000M AutoCAD 2012 Sp2 nXtRender Tetra4D eigene Tools Adobe CreativeSuite 6 ——————————— MacBook Pro i9 2,3/16/5 Big Sur 11.5.1 BricsCAD V21 Pro
|
erstellt am: 07. Mai. 2003 14:53 <-- editieren / zitieren --> Unities abgeben:
erst einmal vielen Dank an alle! @Axel danke für den Tipp, werde mich noch damit auseinandersetzen. @Heinz super, dein Lisp funzt. Das bringt mich schon ein ganzes Stück weiter. @Holger es klappt bei mir auch mit der bereinigten dwg nicht, teste aber weiter. Bericht folgt. Gruß an alle Heidi
------------------ Gruß Heidi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 07. Mai. 2003 22:54 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
|
nahe Ehrenmitglied
Beiträge: 1764 Registriert: 18.01.2001
|
erstellt am: 08. Mai. 2003 07:03 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
Hallo Axel ich hab ja auch nicht gesagt, dass das die eleganteste Lösung ist. Da ich mich nur ab und zu mit LISP beschäftige, habe ich mich bis jetzt auch nicht mit Active-X auseinandergesetzt. Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 08. Mai. 2003 08:28 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
|
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001
|
erstellt am: 08. Mai. 2003 17:23 <-- editieren / zitieren --> Unities abgeben:
@Axel Habe mich gerade mit deinem 8zeiler auseinander gesetzt, aber irgendwie bin ich zu blöd, das Teil zum laufen zu kriegen. Kannst du mir bitte erklären, was die beiden Variablen ss expr beinhalten müssen und in welcher Form. Das ich <blockname> durch den reellen Namen des Blockes ersetzen muss, verstehe ich ja noch, aber das ist leider auch schon alles. Sorry.... du bist einfach zu gut! Gruß Heidi ------------------ Gruß Heidi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 09. Mai. 2003 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
Code:
(defun ss-foreach(ss expr / i) (if ss (repeat(setq i(sslength ss)) ( (eval expr)(ssname ss(setq i(1- i)))) ) ) )(defun all-explode(blockname / ) (ss-foreach(ssget"X"(list'(0 . "INSERT")(cons 2 blockname))) '(lambda(ent / ) (vla-explode(vlax-ename->vla-object ent)) (vla-delete(vlax-ename->vla-object ent)) ) ) ) (defun c:all-explode( / ) (all-explode(getstring"\nBlockname: ")) )
Habe es mal in die Form eines kleinen Programms gebracht, du musst nur die Datei laden. Dann hast du einen neuen Befehl 'all-explode', der fragt nach dem Blocknamen. Das kann auch ein Wildcard-Muster sein: B* schiesst alle Inserts, deren Name mit B anfängt, über den Jordan, und nur ein * haut natürlich jedes Insert in der ganzen Zeichnung weg. ss-foreach ist nur eine Hilfsfunktion, die man eigentlich fast immer braucht. Muss nur geladen sein, nichts dran machen! Was ich vergessen hatte zu erwähnen: vla-explode erzeugt eine Kopie der Geometrie, deswegen habe ich noch ein vla-delete mit reingesetzt, um das Original-Insert wegzulöschen. (entdel) funktioniert übrigens auch nicht Layout-übergreifend. Gruss, Axel
------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Meine Überzeugung... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001
|
erstellt am: 09. Mai. 2003 11:28 <-- editieren / zitieren --> Unities abgeben:
@Axel irgendetwas scheint mit meinem Compi nicht normal zu sein *grrr*: Befehl: all-explode Blockname: b_hhan ; Fehler: Automatisierungsfehler. Keine Beschreibung verfügbar. Alle Blöcke sind noch da! Den gleichen Fehler bekomme ich bei dem Tool von Holger auch. Kann es sein, dass das Teil erst auf 2002 funzt?
------------------ Gruß Heidi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 09. Mai. 2003 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
Hallo Heidi, da scheint irgendetwas mit dem ActiveX nicht richtig zu funktionieren. Diese Fehlermeldung deutet darauf hin. Auf jeden Fall scheint's wirklich an deinem Rechner zu liegen. Aber was? Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool's im Free-&Download Zugang zum Download schon gesichert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 09. Mai. 2003 11:48 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 09. Mai. 2003 12:02 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
@Axel, ich mache genau das gleiche wie du. Als erstes steht (vl-load-com) drin. Daran kanns also nicht liegen, zudem dann auch die Fehlermeldung bzgl einer unbekannten Funktion kommen würde. Weshalb das 'ne vlx ist, hat nur damit zu tun, dass die Blöcke aus einer dcl ausgewählt werden können, und in der vlx ist dann alles beisammen. Habe Heidi auch schon den Quellcode geschickt - sie wollte den debugger mal drüber laufen lassen, hatte wohl aber noch keine Zeit dazu. Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool's im Free-&Download Zugang zum Download schon gesichert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 09. Mai. 2003 12:27 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
|
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001
|
erstellt am: 09. Mai. 2003 13:29 <-- editieren / zitieren --> Unities abgeben:
jetzt mal ne dämliche Frage: Habe im IE für's Internet ActiveX deaktiviert, bzw. nur auf Anfrage zugelassen, kann es damit zu tun haben? Es würde mir zwar nicht einleuchten, dass man mit der Interneteinstellung dann auch ActiveX in ACAD blockieren würde, aber ich kenne mich da leider auch nicht so gut aus ------------------ Gruß Heidi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 12. Mai. 2003 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 12. Mai. 2003 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für heidi
|
heidi Mitglied CAD-Dienstleister
Beiträge: 1132 Registriert: 01.11.2001
|
erstellt am: 12. Mai. 2003 12:13 <-- editieren / zitieren --> Unities abgeben:
@Axel, @Holger habe die Proggies gerade auf einem anderen Computer mit Win2000 getestet, da funzt alles. Nun fragt mich bloss nicht, woran das liegt :-). Da ich eh in kürze den NT-Rechner auswechsle, werde ich mir auch keinen Kopp mehr machen. Vielen Dank nochmal ------------------ Gruß Heidi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |