| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: mehrere inhaltlich identische blöcke zu einem zusammenfassen (2711 / mal gelesen)
|
chicci Mitglied
Beiträge: 139 Registriert: 19.07.2006 win 10, Intel Core i7 CPU 920, 2,67GHz, 6 GB RAM, Autocad MEP 2012
|
erstellt am: 01. Feb. 2019 13:53 <-- editieren / zitieren --> Unities abgeben:
hallo zusammen, ich zeichne mit autocad 2012 und ich suche eine möglichkeit, mehrere inhaltlich identische blöcke mit leider unterschiedlichem namen zu erstezen. nach dem schema: pfeil_aussenluft_1 pfeil_aussenluft_2 pfeil_aussenluft_3 pfeil_aussenluft_564 pfeil_aussenluft_565 werden alle zu pfeil_aussenluft ich habe zwar ansatzweise einiges gefunden, aber leider kann ich autolisp nur laden, aber nicht allein anpassen es wäre superschön, wenn mir da jmd helfen könnte. vg ------------------ . Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 01. Feb. 2019 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für chicci
Hallo, nun fast WE da kan man noch schnell was probieren, nach der Beschreibung sollte es damit gehn. Einziger Haken, du musst die Blöck vorher selektieren. Quelle / Verfasser siehe Text, gibt sicher auch andere ... cu cw (defun c:BRE (/ *error* blk f ss temp) ;; Replace multiple instances of selected blocks (can be different) with selected block ;; Size and Rotation will be taken from original block and original will be deleted ;; Required subroutines: AT:GetSel ;; Alan J. Thompson, 02.09.10 (vl-load-com) (defun *error* (msg) (and f *AcadDoc* (vla-endundomark *AcadDoc*)) (if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,"))) (princ (strcat "\nError: " msg)) ) ) (if (and (AT:GetSel entsel "\nSelect replacement block: " (lambda (x / e) (if (and (eq "INSERT" (cdr (assoc 0 (setq e (entget (car x)))))) (/= 4 (logand (cdr (assoc 70 (tblsearch "BLOCK" (cdr (assoc 2 e))))) 4)) (/= 4 (logand (cdr (assoc 70 (entget (tblobjname "LAYER" (cdr (assoc 8 e)))))) 4)) ) (setq blk (vlax-ename->vla-object (car x))) ) ) ) (princ "\nSelect blocks to be repalced: ") (setq ss (ssget "_:L" '((0 . "INSERT")))) ) (progn (setq f (not (vla-startundomark (cond (*AcadDoc*) ((setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object)))) ) ) ) ) (vlax-for x (setq ss (vla-get-activeselectionset *AcadDoc*)) (setq temp (vla-copy blk)) (mapcar (function (lambda (p) (vl-catch-all-apply (function vlax-put-property) (list temp p (vlax-get-property x p)) ) ) ) '(Insertionpoint Rotation XEffectiveScaleFactor YEffectiveScaleFactor ZEffectiveScaleFactor ) ) (vla-delete x) ) (vla-delete ss) (*error* nil) ) ) (princ) ) (defun AT:GetSel (meth msg fnc / ent good) ;; meth - selection method (entsel, nentsel, nentselp) ;; msg - message to display (nil for default) ;; fnc - optional function to apply to selected object ;; Ex: (AT:GetSel entsel "\nSelect arc: " (lambda (x) (eq (cdr (assoc 0 (entget (car x)))) "ARC"))) ;; Alan J. Thompson, 05.25.10 (setvar 'errno 0) (while (not good) (setq ent (meth (cond (msg) ("\nSelect object: ") ) ) ) (cond ((vl-consp ent) (setq good (cond ((or (not fnc) (fnc ent)) ent) ((prompt "\nInvalid object!")) ) ) ) ((eq (type ent) 'STR) (setq good ent)) ((setq good (eq 52 (getvar 'errno))) nil) ((eq 7 (getvar 'errno)) (setq good (prompt "\nMissed, try again."))) ) ) ) -----------------------------------------
oder und da weis ich nicht 2012 Expresstools .. # Befehl:blockreplace ------------------------------------------------ ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? [Diese Nachricht wurde von cadwomen am 01. Feb. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
chicci Mitglied
Beiträge: 139 Registriert: 19.07.2006 win 10, Intel Core i7 CPU 920, 2,67GHz, 6 GB RAM, Autocad MEP 2012
|
erstellt am: 01. Feb. 2019 15:14 <-- editieren / zitieren --> Unities abgeben:
|
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 01. Feb. 2019 15:24 <-- editieren / zitieren --> Unities abgeben: Nur für chicci
Zitat: Original erstellt von chicci: ich danke dir sehr,aber alle 300 blöcke einzeln auszuwählen, war ja gerade das, worum ich mich drücken wollte nosmile:)nosmile:
Dann wähle die Blöcke vorher über die Schnellauswahl (Blockreferenzen, Namen mit Platzhaltervergleich) und gib bei der Anfrage zur Auswahl "vorher" an. Probier mal ob das klappt. HTH Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 150 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 01. Feb. 2019 15:47 <-- editieren / zitieren --> Unities abgeben: Nur für chicci
Hallo chicci, im AutoCAD-Magazin 05/2015 gab es eine Lisp (ACM-BLOCKERSETZEN) in dem man in einem Dialogfeld auf der einen Seite alle Blöcke wählen kann die man ersetzen möchte und auf der anderen den Block mit dem sie ersetzt werden sollen. Hast du das AutoCAD-Magazin? Wenn nicht, schreib mal die Redaktion vom ACM an, die schicken dir das nach meinen Erfahrungen auch per Mail. Viel Glück Jörg ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
chicci Mitglied
Beiträge: 139 Registriert: 19.07.2006 win 10, Intel Core i7 CPU 920, 2,67GHz, 6 GB RAM, Autocad MEP 2012
|
erstellt am: 01. Feb. 2019 15:58 <-- editieren / zitieren --> Unities abgeben:
oje, ich weiß nicht, wie ich namen mit platzhaltervergleich suche. ich gehe auf schnellauswahl udn suche nach objekttpy blockreferenz. da kann ich aber immer nur jeweils einen auswählen ------------------ . Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 01. Feb. 2019 16:20 <-- editieren / zitieren --> Unities abgeben: Nur für chicci
|
chicci Mitglied
Beiträge: 139 Registriert: 19.07.2006 win 10, Intel Core i7 CPU 920, 2,67GHz, 6 GB RAM, Autocad MEP 2012
|
erstellt am: 01. Feb. 2019 16:22 <-- editieren / zitieren --> Unities abgeben:
|
chicci Mitglied
Beiträge: 139 Registriert: 19.07.2006 win 10, Intel Core i7 CPU 920, 2,67GHz, 6 GB RAM, Autocad MEP 2012
|
erstellt am: 01. Feb. 2019 16:32 <-- editieren / zitieren --> Unities abgeben:
|
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 01. Feb. 2019 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für chicci
Folgendermaßen erfolgreich getestet: - Auswahl der zu tauschenden Referenzen mit Schnellauswahl wie oben angegeben. - Lisp mit Befehl BRE starten - Block mit dem ersetzt werden soll ausgewählt (angeklickt) - Enter - alle ausgewählten Blöcke wurden ersetzt Probiere es nochmal. Gruß Thomas
[Diese Nachricht wurde von spider_dd am 01. Feb. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
chicci Mitglied
Beiträge: 139 Registriert: 19.07.2006 win 10, Intel Core i7 CPU 920, 2,67GHz, 6 GB RAM, Autocad MEP 2012
|
erstellt am: 01. Feb. 2019 19:38 <-- editieren / zitieren --> Unities abgeben:
du hast das so nett schritt für schritt erklärt, aber leider kommt eine fehlermeldung: Error: no funktion definition: VLAX-ENAME ->VLA-OBJEKCT damit weiß ich leider nichts anzufangen. bestimmt seid ihr fleissigen jetzt aber alle schon im WE. ich versuche es mal am PC meines kollegen. lg ------------------ . Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
chicci Mitglied
Beiträge: 139 Registriert: 19.07.2006 win 10, Intel Core i7 CPU 920, 2,67GHz, 6 GB RAM, Autocad MEP 2012
|
erstellt am: 01. Feb. 2019 22:36 <-- editieren / zitieren --> Unities abgeben:
wie schön ))))))))))))) an dem anderen rechner klappt es. wundert mich nur, wie das kommt. ich danke euch von ganzem herzen, ihr habt mich sehr glücklich gemacht und mir das WE gerettet <3 ------------------ . Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |